summaryrefslogtreecommitdiffstats
path: root/fs/timerfd.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2020-04-08 17:20:54 +0200
committerJens Axboe <axboe@kernel.dk>2020-04-08 17:20:54 +0200
commit08a1d26eb894a9dcf79f674558a284ad1ffef517 (patch)
tree816d4043a453315cd231978550f99685cc811c71 /fs/timerfd.c
parentio_uring: initialize fixed_file_data lock (diff)
downloadlinux-08a1d26eb894a9dcf79f674558a284ad1ffef517.tar.xz
linux-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 'fs/timerfd.c')
0 files changed, 0 insertions, 0 deletions