diff options
author | Hao Xu <howeyxu@tencent.com> | 2022-06-11 14:22:20 +0200 |
---|---|---|
committer | Pavel Begunkov <asml.silence@gmail.com> | 2022-06-13 12:37:03 +0200 |
commit | e71d7c56dd69f720169c1675f87a1d22d8167767 (patch) | |
tree | 0c8c8ccf7f4af16da4852d7d17fba351f5184be6 /fs | |
parent | io_uring: fix not locked access to fixed buf table (diff) | |
download | linux-e71d7c56dd69f720169c1675f87a1d22d8167767.tar.xz linux-e71d7c56dd69f720169c1675f87a1d22d8167767.zip |
io_uring: openclose: fix bug of closing wrong fixed file
Don't update ret until fixed file is closed, otherwise the file slot
becomes the error code.
Fixes: a7c41b4687f5 ("io_uring: let IORING_OP_FILES_UPDATE support choosing fixed file slots")
Signed-off-by: Hao Xu <howeyxu@tencent.com>
[pavel: 5.19 rebase]
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/io_uring.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/io_uring.c b/fs/io_uring.c index fd8a1ffe6a1a..e6d8cafdd28e 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -8035,8 +8035,8 @@ static int io_files_update_with_index_alloc(struct io_kiocb *req, if (ret < 0) break; if (copy_to_user(&fds[done], &ret, sizeof(ret))) { - ret = -EFAULT; __io_close_fixed(req, issue_flags, ret); + ret = -EFAULT; break; } } |