summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2025-04-03 10:48:49 -0600
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-04-10 14:33:41 +0200
commitddd2752899873a0c18b59439001b88731bc8de02 (patch)
treeb16f3b5339c889c2c0874ed407a645f6dd5d8dd2
parentbe8a0decd0b59a52a07276f9ef3b33ef820b2179 (diff)
downloadlinux-ddd2752899873a0c18b59439001b88731bc8de02.tar.gz
linux-ddd2752899873a0c18b59439001b88731bc8de02.tar.bz2
linux-ddd2752899873a0c18b59439001b88731bc8de02.zip
io_uring/filetable: ensure node switch is always done, if needed
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>
-rw-r--r--io_uring/filetable.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/io_uring/filetable.c b/io_uring/filetable.c
index 4660cb89ea9f..a64b4df0ac9c 100644
--- a/io_uring/filetable.c
+++ b/io_uring/filetable.c
@@ -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);