Hi Linus, Here's a set of fixes that should go into 5.5-rc3 for io_uring. This is bigger than I'd like it to be, mainly because we're fixing the case where an application reuses sqe data right after issue. This really must work, or it's confusing. With 5.5 we're flagging us as submit stable for the actual data, this must also be the case for SQEs. Honestly, I'd really like to add another series on top of this, since it cleans it up considerable and prevents any SQE reuse by design. I posted that here: https://lore.kernel.org/io-uring/20191220174742.7449-1-axboe@xxxxxxxxx/T/#u and may still send it your way early next week once it's been looked at and had some more soak time (does pass all regression tests). With that series, we've unified the prep+issue handling, and only the prep phase even has access to the SQE. Anyway, outside of that, fixes in here for a few other issues that have been hit in testing or production. Please pull! git://git.kernel.dk/linux-block.git tags/io_uring-5.5-20191220 ---------------------------------------------------------------- Brian Gianforcaro (1): io_uring: fix stale comment and a few typos Jens Axboe (11): io_uring: fix sporadic -EFAULT from IORING_OP_RECVMSG io-wq: re-add io_wq_current_is_worker() io_uring: fix pre-prepped issue with force_nonblock == true io_uring: remove 'sqe' parameter to the OP helpers that take it io_uring: any deferred command must have stable sqe data io_uring: make IORING_POLL_ADD and IORING_POLL_REMOVE deferrable io_uring: make IORING_OP_CANCEL_ASYNC deferrable io_uring: make IORING_OP_TIMEOUT_REMOVE deferrable io_uring: read opcode and user_data from SQE exactly once io_uring: warn about unhandled opcode io_uring: io_wq_submit_work() should not touch req->rw Pavel Begunkov (2): io_uring: make HARDLINK imply LINK io_uring: don't wait when under-submitting fs/io-wq.c | 2 +- fs/io-wq.h | 8 +- fs/io_uring.c | 712 +++++++++++++++++++++++++++++++++++++++------------------- 3 files changed, 493 insertions(+), 229 deletions(-) -- Jens Axboe