]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
io_uring/rsrc: use io_cache_free() to free node
authorJackie Liu <liuyun01@kylinos.cn>
Tue, 31 Mar 2026 10:45:09 +0000 (18:45 +0800)
committerJens Axboe <axboe@kernel.dk>
Wed, 1 Apr 2026 16:21:13 +0000 (10:21 -0600)
Replace kfree(node) with io_cache_free() in io_buffer_register_bvec()
to match all other error paths that free nodes allocated via
io_rsrc_node_alloc(). The node is allocated through io_cache_alloc()
internally, so it should be returned to the cache via io_cache_free()
for proper object reuse.

Signed-off-by: Jackie Liu <liuyun01@kylinos.cn>
Link: https://patch.msgid.link/20260331104509.7055-1-liu.yun@linux.dev
[axboe: remove fixes tag, it's not a fix, it's a cleanup]
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/rsrc.c

index 52554ed89b11c231e580a7cf344304d7af0390e4..2d8be5edbbf6eb6ce1d56e5c49f271b58c9be17d 100644 (file)
@@ -961,7 +961,7 @@ int io_buffer_register_bvec(struct io_uring_cmd *cmd, struct request *rq,
         */
        imu = io_alloc_imu(ctx, blk_rq_nr_phys_segments(rq));
        if (!imu) {
-               kfree(node);
+               io_cache_free(&ctx->node_cache, node);
                ret = -ENOMEM;
                goto unlock;
        }