[PATCH v2 0/2] io_uring: Add KASAN support for alloc caches

From: Breno Leitao
Date: Wed Feb 22 2023 - 13:00:44 EST


From: Breno Leitao <leit@xxxxxx>

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)

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 | 2 +-
io_uring/alloc_cache.h | 35 +++++++++++++++++++---------------
io_uring/io_uring.c | 14 ++++++++++++--
io_uring/net.c | 2 +-
io_uring/net.h | 4 ----
io_uring/poll.c | 2 +-
6 files changed, 35 insertions(+), 24 deletions(-)

--
2.30.2