[PATCHSET v2 0/3] Cleanup alloc cache init_once handling

Jens Axboe
2025-01-23T18:47:57Z

Hi,

A minor prep patch cleaning up some confusion on types for uring_cmd,
which don't matter now, but will after patch 2. Patch 2 gets rid of
the init_once, and has the cache init functions pass in the number of
bytes to clear for a fresh allocation.

Since v1:
- Make the iovec caching play nice with KASAN. We just free it now,
as even basic KASAN will stomp on this memory. This should also fix
the reported issue with KASAN_EXTRA_INFO and msghdr on the net side
without needing KASAN changes.
- Cleanup the uring_cmd bits, we don't need to retain anything there.
- Use struct_group() for the rw and net bits.
- Add patch killing the _nocache() helper, just allow passing in a
NULL cache for those two cases.

include/linux/io_uring/cmd.h | 2 +-
include/linux/io_uring_types.h | 3 ++-
io_uring/alloc_cache.h | 43 +++++++++++++++++++++++++++-------
io_uring/futex.c | 4 ++--
io_uring/io_uring.c | 12 ++++++----
io_uring/io_uring.h | 21 +++++++----------
io_uring/net.c | 28 +++++-----------------
io_uring/net.h | 20 +++++++++-------
io_uring/poll.c | 2 +-
io_uring/rw.c | 27 +++++----------------
io_uring/rw.h | 27 ++++++++++++---------
io_uring/timeout.c | 2 +-
io_uring/uring_cmd.c | 17 ++++----------
io_uring/waitid.c | 2 +-
14 files changed, 102 insertions(+), 108 deletions(-)