Files
Linus Torvalds fa899d500a Merge tag 'for-7.4/io_uring-20261021' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux
Pull io_uring updates from Jens Axboe:
 "The bulk of this is a big robustness pass over cancelation, io-wq,
  timeouts, and poll. Outside of that:

   - Large series from Josef hardening the cancelation, io-wq, timeout,
     poll, and wait paths. Fixes for lost wakeups and lost cancels as
     io-wq arms poll/timeouts, work stranding on worker exit, CQE32
     resize handling, napi entry timeouts, and a pile of smaller
     correctness issues across the board

   - Rework of how io-wq posts completions, posting from the last
     request reference and dropping the request file before the
     completion, and running ring release cancelations synchronously -
     canceling and waiting for all in-flight requests and dropping
     registered files and buffers at release time

   - Don't charge the SQ/CQ rings or provided buffer rings to
     RLIMIT_MEMLOCK, which the region API conversion had started doing

   - Split io_uring_cmd_set_res() out from io_uring_cmd_done() so a
     command can set the result from its ->end_io() handler, used by
     nvme

   - CQE32 ring fixes for the free entry check, aux CQE big_cqe zeroing,
     and the dummy skip CQE

   - Timeout fixes for sequence handling and multishot updates

   - net fixes for MSG_TRUNC buffer overconsumption and keeping recv
     buffer select length within MAX_RW_COUNT

   - Wake real-time waiters from hard interrupt context

   - Don't spin on local work an exiting task can't run, reachable by an
     unprivileged user

   - Various other fixes and cleanups"

* tag 'for-7.4/io_uring-20261021' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux: (75 commits)
  io_uring: end the drain when the drain request completes
  io_uring/futex: return a wait's data to the cache when it fails to arm
  io_uring/wait: wake real-time waiters from hard interrupt context
  io_uring/waitid: return -EAGAIN for a non-blocking pidfd
  io_uring/net: keep recv buffer select length within MAX_RW_COUNT
  io_uring/waitid: prevent cancel reference wrap
  io_uring/poll: don't loop on HUP with multiple references
  io_uring/timeout: don't lose a cancel as io-wq arms a timeout
  io_uring/timeout: don't flush with the sequence behind the last flush
  io_uring/timeout: don't put a sequence target behind the last flush
  io_uring/poll: avoid retry wakeup loss when dropping ownership
  io_uring: look up the file before queueing to io-wq
  io_uring/timeout: don't end a linked timeout with 1
  io_uring/timeout: no ABS update of multishot timeouts
  io_uring/net: don't retry recv on uncommitted buffers
  io_uring: don't pass restart error codes to userspace
  io_uring/openclose: keep the lock in io_pipe_fixed()
  io_uring/sqpoll: let the thread sleep on disabled rings
  io_uring/kbuf: handle index wrap in last buffer check
  io_uring/zcrx: fix buffer offsets in areas above 4GB
  ...
2026-10-24 13:43:13 -10:00
..
2025-01-28 15:10:40 -07:00
2026-01-05 17:08:20 -07:00
2022-07-24 18:39:11 -06:00
2026-08-04 06:57:05 -06:00
2026-01-13 15:18:07 -05:00
2024-02-09 09:04:39 -07:00