public inbox for [email protected]
 help / color / mirror / Atom feed
* [PATCH] io_uring: fix removing the wrong file in __io_sqe_files_update()
@ 2020-09-01  5:35 Jiufei Xue
  2020-09-01 14:04 ` Jens Axboe
  0 siblings, 1 reply; 2+ messages in thread
From: Jiufei Xue @ 2020-09-01  5:35 UTC (permalink / raw)
  To: axboe; +Cc: io-uring

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: [email protected] # v5.6
Fixes: 05f3fb3c5397 ("io_uring: avoid ring quiesce for fixed file set unregister and update")
Signed-off-by: Jiufei Xue <[email protected]>
---
 fs/io_uring.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/io_uring.c b/fs/io_uring.c
index ce69bd9..cf601f8 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -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;
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-09-01 14:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-01  5:35 [PATCH] io_uring: fix removing the wrong file in __io_sqe_files_update() Jiufei Xue
2020-09-01 14:04 ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox