Hi, Jens, Pavel. I sent this v2 originally during US thanksgiving week, so I'm resending now under a more suitable time, rebased and retested on top of Jen's for-6.14/io_uring branch. It keeps the changes requested in v1: renaming the allocation helper and introducing a callback instead of zeroing the entire object, as suggested by Jens. This was tested against liburing testsuite, with lockdep and KASAN enabled. For v1, please see: https://lore.kernel.org/io-uring/87plmrnstq.fsf@xxxxxxxxxxxxxxxxxxx/T/#t Thanks, Gabriel Krisman Bertazi (9): io_uring: Fold allocation into alloc_cache helper io_uring: Add generic helper to allocate async data io_uring/futex: Allocate ifd with generic alloc_cache helper io_uring/poll: Allocate apoll with generic alloc_cache helper io_uring/uring_cmd: Allocate async data through generic helper io_uring/net: Allocate msghdr async data through helper io_uring/rw: Allocate async data through helper io_uring: Move old async data allocation helper to header io_uring/msg_ring: Drop custom destructor io_uring/alloc_cache.h | 13 +++++++++++++ io_uring/futex.c | 13 +------------ io_uring/io_uring.c | 17 ++--------------- io_uring/io_uring.h | 23 +++++++++++++++++++++++ io_uring/msg_ring.c | 7 ------- io_uring/msg_ring.h | 1 - io_uring/net.c | 35 ++++++++++++++++++----------------- io_uring/poll.c | 13 +++++-------- io_uring/rw.c | 36 ++++++++++++++++-------------------- io_uring/timeout.c | 5 ++--- io_uring/uring_cmd.c | 20 ++------------------ io_uring/waitid.c | 4 ++-- 12 files changed, 84 insertions(+), 103 deletions(-) -- 2.47.0