]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
io_uring/filetable: ensure node switch is always done, if needed
authorJens Axboe <axboe@kernel.dk>
Thu, 3 Apr 2025 16:48:49 +0000 (10:48 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Apr 2025 12:33:41 +0000 (14:33 +0200)
No upstream patch exists for this issue, as it was introduced by
a stable backport.

A previous backport relied on other code changes in the io_uring file
table and resource node handling, which means that sometimes a resource
node switch can get missed. For 6.1-stable, that code is still in
io_install_fixed_file(), so ensure we fall-through to that case for the
success path too.

Fixes: a3812a47a320 ("io_uring: drop any code related to SCM_RIGHTS")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
io_uring/filetable.c

index 4660cb89ea9f5235289e0bcc249422f50d75e294..a64b4df0ac9c2796dfcf6108a0d8e4604062c819 100644 (file)
@@ -98,7 +98,7 @@ static int io_install_fixed_file(struct io_ring_ctx *ctx, struct file *file,
        *io_get_tag_slot(ctx->file_data, slot_index) = 0;
        io_fixed_file_set(file_slot, file);
        io_file_bitmap_set(&ctx->file_table, slot_index);
-       return 0;
+       ret = 0;
 err:
        if (needs_switch)
                io_rsrc_node_switch(ctx, ctx->file_data);