Hi Linus, Followup pull request for io_uring for the 6.14 merge window. This pull request contains: - Series cleaning up the alloc cache changes from this merge window, and then another series on top making it better yet. This also solves an issue with KASAN_EXTRA_INFO, by making io_uring resilient to KASAN using parts of the freed struct for storage. - Cleanups and simplications to buffer cloning and io resource node management. - Fix an issue introduced in this merge window where READ/WRITE_ONCE was used on an atomic_t, which made some archs complain. - Fix for an errant connect retry when the socket has been shut down. - Fix for multishot and provided buffers. Please pull! The following changes since commit 95ec54a420b8f445e04a7ca0ea8deb72c51fe1d3: Merge tag 'powerpc-6.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux (2025-01-20 21:40:19 -0800) are available in the Git repository at: git://git.kernel.dk/linux.git tags/io_uring-6.14-20250131 for you to fetch changes up to 8c8492ca64e79c6e0f433e8c9d2bcbd039ef83d0: io_uring/net: don't retry connect operation on EPOLLERR (2025-01-30 09:41:25 -0700) ---------------------------------------------------------------- io_uring-6.14-20250131 ---------------------------------------------------------------- Jann Horn (2): io_uring/rsrc: Simplify buffer cloning by locking both rings io_uring/rsrc: Move lockdep assert from io_free_rsrc_node() to caller Jens Axboe (7): io_uring/msg_ring: don't leave potentially dangling ->tctx pointer io_uring/uring_cmd: use cached cmd_op in io_uring_cmd_sock() io_uring/uring_cmd: cleanup struct io_uring_cmd_data layout io_uring: get rid of alloc cache init_once handling io_uring/alloc_cache: get rid of _nocache() helper io_uring/register: use atomic_read/write for sq_flags migration io_uring/net: don't retry connect operation on EPOLLERR Pavel Begunkov (10): io_uring: clean up io_uring_register_get_file() io_uring: fix multishots with selected buffers io_uring: include all deps for alloc_cache.h io_uring: dont ifdef io_alloc_cache_kasan() io_uring: add alloc_cache.c io_uring/net: make io_net_vec_assign() return void io_uring/net: clean io_msg_copy_hdr() io_uring/net: extract io_send_select_buffer() io_uring: remove !KASAN guards from cache free io_uring/rw: simplify io_rw_recycle() Sidong Yang (1): io_uring/rsrc: remove unused parameter ctx for io_rsrc_node_alloc() include/linux/io_uring/cmd.h | 2 +- include/linux/io_uring_types.h | 3 +- io_uring/Makefile | 2 +- io_uring/alloc_cache.c | 44 ++++++++++++++ io_uring/alloc_cache.h | 69 ++++++++++----------- io_uring/filetable.c | 2 +- io_uring/futex.c | 4 +- io_uring/io_uring.c | 12 ++-- io_uring/io_uring.h | 21 +++---- io_uring/msg_ring.c | 4 +- io_uring/net.c | 134 +++++++++++++++++++++-------------------- io_uring/net.h | 20 +++--- io_uring/poll.c | 6 +- io_uring/register.c | 8 ++- io_uring/rsrc.c | 88 ++++++++++++++------------- io_uring/rsrc.h | 5 +- io_uring/rw.c | 41 +++---------- io_uring/rw.h | 27 +++++---- io_uring/timeout.c | 2 +- io_uring/uring_cmd.c | 19 ++---- io_uring/waitid.c | 2 +- 21 files changed, 272 insertions(+), 243 deletions(-) create mode 100644 io_uring/alloc_cache.c -- Jens Axboe