io_uring: fix removing the wrong file in __io_sqe_files_update()
Index here is already the position of the file in fixed_file_table, we should not use io_file_from_index() again to get it. Otherwise, the wrong file which still in use may be released unexpectedly. Cc: stable@vger.kernel.org # v5.6 Fixes: 05f3fb3c5397 ("io_uring: avoid ring quiesce for fixed file set unregister and update") Signed-off-by: Jiufei Xue <jiufei.xue@linux.alibaba.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
fdee946d09
commit
98dfd5024a
@ -7324,7 +7324,7 @@ static int __io_sqe_files_update(struct io_ring_ctx *ctx,
|
||||
table = &ctx->file_data->table[i >> IORING_FILE_TABLE_SHIFT];
|
||||
index = i & IORING_FILE_TABLE_MASK;
|
||||
if (table->files[index]) {
|
||||
file = io_file_from_index(ctx, index);
|
||||
file = table->files[index];
|
||||
err = io_queue_file_removal(data, file);
|
||||
if (err)
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user