Hi Linus, A few fixes in here, all based on reports and test cases from folks using it. Most of it is stable material as well. - Hashed work cancelation fix (Pavel) - poll wakeup signalfd fix - memlock accounting fix - nonblocking poll retry fix - Ensure we never return -ERESTARTSYS for reads - Ensure offset == -1 is consistent with preadv2() as documented - IOPOLL -EAGAIN handling fixes - Remove useless task_work bounce for block based -EAGAIN retry Please pull! The following changes since commit 867a23eab52847d41a0a6eae41a64d76de7782a8: io_uring: kill extra iovec=NULL in import_iovec() (2020-08-20 05:36:19 -0600) are available in the Git repository at: git://git.kernel.dk/linux-block.git tags/io_uring-5.9-2020-08-28 for you to fetch changes up to fdee946d0925f971f167d2606984426763355e4f: io_uring: don't bounce block based -EAGAIN retry off task_work (2020-08-27 16:48:34 -0600) ---------------------------------------------------------------- io_uring-5.9-2020-08-28 ---------------------------------------------------------------- Jens Axboe (9): io_uring: don't recurse on tsk->sighand->siglock with signalfd io_uring: revert consumed iov_iter bytes on error io_uring: fix imbalanced sqo_mm accounting io_uring: don't use poll handler if file can't be nonblocking read/written io_uring: ensure read requests go through -ERESTART* transformation io_uring: make offset == -1 consistent with preadv2/pwritev2 io_uring: clear req->result on IOPOLL re-issue io_uring: fix IOPOLL -EAGAIN retries io_uring: don't bounce block based -EAGAIN retry off task_work Pavel Begunkov (1): io-wq: fix hang after cancelling pending hashed work fs/io-wq.c | 21 +++++++++++-- fs/io_uring.c | 99 ++++++++++++++++++++++++++++++++++------------------------- 2 files changed, 76 insertions(+), 44 deletions(-) -- Jens Axboe