diff options
author | Jens Axboe <axboe@kernel.dk> | 2020-04-08 09:20:54 -0600 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2020-04-08 09:20:54 -0600 |
commit | 08a1d26eb894a9dcf79f674558a284ad1ffef517 (patch) | |
tree | 816d4043a453315cd231978550f99685cc811c71 /Documentation/crc32.txt | |
parent | f7fe9346869a12efe3af3cc9be2e45a1b6ff8761 (diff) | |
download | linux-stable-08a1d26eb894a9dcf79f674558a284ad1ffef517.tar.gz linux-stable-08a1d26eb894a9dcf79f674558a284ad1ffef517.tar.bz2 linux-stable-08a1d26eb894a9dcf79f674558a284ad1ffef517.zip |
io_uring: ensure openat sets O_LARGEFILE if needed
OPENAT2 correctly sets O_LARGEFILE if it has to, but that escaped the
OPENAT opcode. Dmitry reports that his test case that compares openat()
and IORING_OP_OPENAT sees failures on large files:
*** sync openat
openat succeeded
sync write at offset 0
write succeeded
sync write at offset 4294967296
write succeeded
*** sync openat
openat succeeded
io_uring write at offset 0
write succeeded
io_uring write at offset 4294967296
write succeeded
*** io_uring openat
openat succeeded
sync write at offset 0
write succeeded
sync write at offset 4294967296
write failed: File too large
*** io_uring openat
openat succeeded
io_uring write at offset 0
write succeeded
io_uring write at offset 4294967296
write failed: File too large
Ensure we set O_LARGEFILE, if force_o_largefile() is true.
Cc: stable@vger.kernel.org # v5.6
Fixes: 15b71abe7b52 ("io_uring: add support for IORING_OP_OPENAT")
Reported-by: Dmitry Kadashev <dkadashev@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'Documentation/crc32.txt')
0 files changed, 0 insertions, 0 deletions