[GIT PULL] io_uring fixes for 5.8-rc1
From: Jens Axboe
Date: Thu Jun 11 2020 - 17:35:36 EST
Hi Linus,
A few late stragglers in here. In particular:
- Validate full range for provided buffers (Bijan)
- Fix bad use of kfree() in buffer registration failure (Denis)
- Don't allow close of ring itself, it's not fully safe. Making it fully
safe would require making the system call more expensive, which isn't
worth it.
- Buffer selection fix
- Regression fix for O_NONBLOCK retry
- Make IORING_OP_ACCEPT honor O_NONBLOCK (Jiufei)
- Restrict opcode handling for SQ/IOPOLL (Pavel)
- io-wq work handling cleanups and improvements (Pavel, Xiaoguang)
- IOPOLL race fix (Xiaoguang)
Please pull!
The following changes since commit 1ee08de1e234d95b5b4f866878b72fceb5372904:
Merge tag 'for-5.8/io_uring-2020-06-01' of git://git.kernel.dk/linux-block (2020-06-02 15:42:50 -0700)
are available in the Git repository at:
git://git.kernel.dk/linux-block.git tags/io_uring-5.8-2020-06-11
for you to fetch changes up to 65a6543da386838f935d2f03f452c5c0acff2a68:
io_uring: fix io_kiocb.flags modification race in IOPOLL mode (2020-06-11 09:45:21 -0600)
----------------------------------------------------------------
io_uring-5.8-2020-06-11
----------------------------------------------------------------
Bijan Mottahedeh (1):
io_uring: validate the full range of provided buffers for access
Denis Efremov (1):
io_uring: use kvfree() in io_sqe_buffer_register()
Jens Axboe (3):
io_uring: disallow close of ring itself
io_uring: re-set iov base/len for buffer select retry
io_uring: allow O_NONBLOCK async retry
Jiufei Xue (1):
io_uring: check file O_NONBLOCK state for accept
Pavel Begunkov (8):
io_uring: fix {SQ,IO}POLL with unsupported opcodes
io_uring: do build_open_how() only once
io_uring: deduplicate io_openat{,2}_prep()
io_uring: move send/recv IOPOLL check into prep
io_uring: don't derive close state from ->func
io_uring: remove custom ->func handlers
io_uring: don't arm a timeout through work.func
io_wq: add per-wq work handler instead of per work
Xiaoguang Wang (3):
io_uring: avoid whole io_wq_work copy for requests completed inline
io_uring: avoid unnecessary io_wq_work copy for fast poll feature
io_uring: fix io_kiocb.flags modification race in IOPOLL mode
fs/io-wq.c | 10 +-
fs/io-wq.h | 8 +-
fs/io_uring.c | 424 ++++++++++++++++++++++++++--------------------------------
3 files changed, 201 insertions(+), 241 deletions(-)
--
Jens Axboe