]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
io_uring: remove !KASAN guards from cache free
authorPavel Begunkov <asml.silence@gmail.com>
Tue, 28 Jan 2025 20:56:15 +0000 (20:56 +0000)
committerJens Axboe <axboe@kernel.dk>
Tue, 28 Jan 2025 22:10:40 +0000 (15:10 -0700)
Test setups (with KASAN) will avoid !KASAN sections, and so it's not
testing paths that would be exercised otherwise. That's bad as to be
sure that your code works you now have to specifically test both KASAN
and !KASAN configs.

Remove !CONFIG_KASAN guards from io_netmsg_cache_free() and
io_rw_cache_free(). The free functions should always be getting valid
entries, and even though for KASAN iovecs should already be cleared,
that's better than skipping the chunks completely.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Reviewed-by: Gabriel Krisman Bertazi <krisman@suse.de>
Link: https://lore.kernel.org/r/d6078a51c7137a243f9d00849bc3daa660873209.1738087204.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/net.c
io_uring/rw.c

index 4d21f7bd2149e79130e30874be89aff738451c97..d89c39f853e3921af9aa1b6112a9cb02930c5435 100644 (file)
@@ -1813,10 +1813,8 @@ void io_netmsg_cache_free(const void *entry)
 {
        struct io_async_msghdr *kmsg = (struct io_async_msghdr *) entry;
 
-#if !defined(CONFIG_KASAN)
        if (kmsg->free_iov)
                io_netmsg_iovec_free(kmsg);
-#endif
        kfree(kmsg);
 }
 #endif
index 991ecfbea88e30acea0a35f594eb3f46ed2d5d6a..c496f195aae2beed158a5058c8e54c2f89385561 100644 (file)
@@ -1309,9 +1309,7 @@ void io_rw_cache_free(const void *entry)
 {
        struct io_async_rw *rw = (struct io_async_rw *) entry;
 
-#if !defined(CONFIG_KASAN)
        if (rw->free_iovec)
                io_rw_iovec_free(rw);
-#endif
        kfree(rw);
 }