strace
7549 <... read resumed> "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096 7549 lseek(12, 0, SEEK_SET <unfinished ...> 7549 <... lseek resumed> ) = 0 7549 clock_gettime(CLOCK_MONOTONIC, {14402, 270675974}) = 0 7549 write(12, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 13631488) = 13631488 7549 fsync(12) = 0 7549 clock_gettime(CLOCK_MONOTONIC, {14402, 331360325}) = 0 7549 lseek(12, 1176801280, SEEK_SET) = 1176801280 7549 read(12, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096 7549 lseek(12, 1176801280, SEEK_SET) = 1176801280 7549 clock_gettime(CLOCK_MONOTONIC, {14402, 331551959}) = 0 7549 read(12, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 13631488) = 13631488 7549 clock_gettime(CLOCK_MONOTONIC, {14402, 380325477}) = 0 7549 lseek(12, 1176801280, SEEK_SET) = 1176801280 7549 read(12, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096 7549 lseek(12, 1176801280, SEEK_SET) = 1176801280 7549 clock_gettime(CLOCK_MONOTONIC, {14402, 381023962}) = 0 7549 write(12, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 13631488) = 13631488 7549 fsync(12) = 0 7549 clock_gettime(CLOCK_MONOTONIC, {14402, 440467374}) = 0 7549 lseek(12, 2353606656, SEEK_SET) = -1 EINVAL (Invalid argument) 7549 close(12) = 0 7549 munmap(0xab4fe000, 13639680) = 0
Seek/read at zero, then some number, then at double that number, an invalid offset.
strace
7549 <... read resumed> "\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0"..., 4096) = 4096 CLOCK_MONOTONIC , {14402, 270675974}) = 0 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0"..., 13631488) = 13631488 CLOCK_MONOTONIC , {14402, 331360325}) = 0 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0"..., 4096) = 4096 CLOCK_MONOTONIC , {14402, 331551959}) = 0 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0"..., 13631488) = 13631488 CLOCK_MONOTONIC , {14402, 380325477}) = 0 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0"..., 4096) = 4096 CLOCK_MONOTONIC , {14402, 381023962}) = 0 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0\0\0\0\ 0"..., 13631488) = 13631488 CLOCK_MONOTONIC , {14402, 440467374}) = 0
7549 lseek(12, 0, SEEK_SET <unfinished ...>
7549 <... lseek resumed> ) = 0
7549 clock_gettime(
7549 write(12, "\0\0\0\
7549 fsync(12) = 0
7549 clock_gettime(
7549 lseek(12, 1176801280, SEEK_SET) = 1176801280
7549 read(12, "\0\0\0\
7549 lseek(12, 1176801280, SEEK_SET) = 1176801280
7549 clock_gettime(
7549 read(12, "\0\0\0\
7549 clock_gettime(
7549 lseek(12, 1176801280, SEEK_SET) = 1176801280
7549 read(12, "\0\0\0\
7549 lseek(12, 1176801280, SEEK_SET) = 1176801280
7549 clock_gettime(
7549 write(12, "\0\0\0\
7549 fsync(12) = 0
7549 clock_gettime(
7549 lseek(12, 2353606656, SEEK_SET) = -1 EINVAL (Invalid argument)
7549 close(12) = 0
7549 munmap(0xab4fe000, 13639680) = 0
Seek/read at zero, then some number, then at double that number, an invalid offset.