mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-14 02:46:43 +07:00
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: 05f3fb3c53
("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…
Reference in New Issue
Block a user