diff options
author | Dylan Yudaken <dylany@fb.com> | 2022-06-16 15:50:11 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-06-16 17:10:26 +0200 |
commit | 32fc810b364f3dd30930c594e461ffa1761fef39 (patch) | |
tree | 1f125fc44f95902ce16d1077f09cefff59a85e04 /fs | |
parent | io_uring: commit non-pollable provided mapped buffers upfront (diff) | |
download | linux-32fc810b364f3dd30930c594e461ffa1761fef39.tar.xz linux-32fc810b364f3dd30930c594e461ffa1761fef39.zip |
io_uring: do not use prio task_work_add in uring_cmd
io_req_task_prio_work_add has a strict assumption that it will only be
used with io_req_task_complete. There is a codepath that assumes this is
the case and will not even call the completion function if it is hit.
For uring_cmd with an arbitrary completion function change the call to the
correct non-priority version.
Fixes: ee692a21e9bf8 ("fs,io_uring: add infrastructure for uring-cmd")
Signed-off-by: Dylan Yudaken <dylany@fb.com>
Reviewed-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/20220616135011.441980-1-dylany@fb.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
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 b6e75f69c6b1..95a1a78d799a 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -5017,7 +5017,7 @@ void io_uring_cmd_complete_in_task(struct io_uring_cmd *ioucmd, req->uring_cmd.task_work_cb = task_work_cb; req->io_task_work.func = io_uring_cmd_work; - io_req_task_prio_work_add(req); + io_req_task_work_add(req); } EXPORT_SYMBOL_GPL(io_uring_cmd_complete_in_task); |