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: a3812a47a3 ("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>
This commit is contained in:
Jens Axboe 2025-04-03 10:48:49 -06:00 committed by Greg Kroah-Hartman
parent be8a0decd0
commit ddd2752899

View 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);