This patchset enables KASAN for alloc cache buffers. These buffers are used by apoll and netmsg code path. These buffers will now be poisoned when not used, so, if randomly touched, a KASAN warning will pop up. This patchset moves the alloc_cache from using double linked list to single linked list, so, we do not need to touch the poisoned node when adding or deleting a sibling node. Changes from v1 to v2: * Get rid of an extra "struct io_wq_work_node" variable in io_alloc_cache_get() (suggested by Pavel Begunkov) * Removing assignement during "if" checks (suggested by Pavel Begunkov and Jens Axboe) * Do not use network structs if CONFIG_NET is disabled (as reported by kernel test robot) Changes from v2 to v3: * Store elem_size in the io_alloc_cache, so, we don't need to pass the size when getting the cache element. Breno Leitao (2): io_uring: Move from hlist to io_wq_work_node io_uring: Add KASAN support for alloc_caches include/linux/io_uring_types.h | 3 ++- io_uring/alloc_cache.h | 30 ++++++++++++++++++------------ io_uring/io_uring.c | 4 ++-- io_uring/net.h | 5 ++++- 4 files changed, 26 insertions(+), 16 deletions(-) -- 2.30.2