public inbox for io-uring@vger.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: io-uring <io-uring@vger.kernel.org>
Subject: [GIT PULL] io_uring fixes for 7.1-rc1
Date: Fri, 24 Apr 2026 09:19:14 -0600	[thread overview]
Message-ID: <9897da58-1661-4bd8-80d3-0e6708b8c0d7@kernel.dk> (raw)

Hi Linus,

Set of fixes and cleanups for io_uring queued up for the 7.1 kernel
release. This pull request contains:

- Fix for a NOMMU bug with io_uring, where NOMMU doesn't grab page refs
  at mmap time. NOMMU also has entirely broken FOLL_PIN support, yet
  here we are.

- A few fixes covering minor issues introduced in this merge window.

- data race annotation to shut up KCSAN for when io-wq limits are
  applied.

- A nospec addition for direct descriptor file updating. Rest of the
  direct descriptor path already had this, but for some reason the
  update did not. Now they are all the same.

- Various minor defensive changes that claude identified and suggested
  terrible fixes for, turned into actually useful cleanups.
	- Use kvfree() for the imu cache. These can come from kmalloc or
	  vmalloc depending on size, but the in-cache ones are capped
	  where it's always kmalloc based. Change to kvfree() in the
	  cleanup path, making future changes unlikely to mess that up.
	- Negative kbuf consumption lengths. Can't happen right now, but
	  cqe->res is used directly, which if other codes changes could
	  then be an error value.

- Fix for an issue with the futex code, where partial wakes on a
  vectored fuxes would potentially wake the same futex twice, rather
  than move on to the next one. This could confuse an application as it
  would've expected the next futex to have been woken.

- Fix for a bug with ring resizing, where SQEs or CQEs might not have
  been copied correctly if large SQEs or CQEs are used in the ring.
  Application side issue, where SQEs or CQEs might have been lost during
  resize.

- Fix for a bug where EPOLL_URING_WAKE might have been lost, causing a
  multishot poll to not be terminated when it's nested, like it should
  have been.

- Fix for an issue with signed comparison of poll references for the
  slow path.

- Fix for a user struct UAF in the zcrx code.

- Two minor zcrx cleanups.

Please pull!


The following changes since commit 5bdb4078e1efba9650c03753616866192d680718:

  Merge tag 'sched_ext-for-7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext (2026-04-15 10:54:24 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux.git tags/io_uring-7.1-20260424

for you to fetch changes up to d0be8884f56b0b800cd8966e37ce23417cd5044e:

  io_uring: take page references for NOMMU pbuf_ring mmaps (2026-04-21 20:14:39 -0600)

----------------------------------------------------------------
io_uring-7.1-20260424

----------------------------------------------------------------
Greg Kroah-Hartman (1):
      io_uring: take page references for NOMMU pbuf_ring mmaps

Jens Axboe (10):
      io_uring/tctx: check for setup tctx->io_wq before teardown
      io_uring/tctx: mark io_wq as exiting before error path teardown
      io_uring: fix iowq_limits data race in tctx node addition
      io_uring: fix spurious fput in registered ring path
      io_uring/rsrc: unify nospec indexing for direct descriptors
      io_uring/rsrc: use kvfree() for the imu cache
      io_uring/rw: add defensive hardening for negative kbuf lengths
      io_uring/futex: ensure partial wakes are appropriately dequeued
      io_uring/register: fix ring resizing with mixed/large SQEs/CQEs
      io_uring/poll: ensure EPOLL_ONESHOT is propagated for EPOLL_URING_WAKE

Longxuan Yu (1):
      io_uring/poll: fix signed comparison in io_poll_get_ownership()

Pavel Begunkov (3):
      io_uring/zcrx: fix user_struct uaf
      io_uring/zcrx: clear RQ headers on init
      io_uring/zcrx: warn on freelist violations

 io_uring/alloc_cache.h |  2 +-
 io_uring/futex.c       |  4 +++-
 io_uring/io_uring.c    |  3 ++-
 io_uring/memmap.c      | 46 +++++++++++++++++++++++++++++++++++++++++++++-
 io_uring/poll.c        |  6 ++++--
 io_uring/register.c    | 36 ++++++++++++++++++++++++++++--------
 io_uring/rsrc.c        |  5 ++++-
 io_uring/rsrc.h        |  9 +++++++--
 io_uring/rw.c          |  4 ++--
 io_uring/tctx.c        | 15 +++++++++++----
 io_uring/zcrx.c        |  5 ++++-
 11 files changed, 111 insertions(+), 24 deletions(-)

-- 
Jens Axboe


             reply	other threads:[~2026-04-24 15:19 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-24 15:19 Jens Axboe [this message]
2026-04-24 22:20 ` [GIT PULL] io_uring fixes for 7.1-rc1 pr-tracker-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9897da58-1661-4bd8-80d3-0e6708b8c0d7@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=io-uring@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox