summaryrefslogtreecommitdiff
path: root/io_uring/io_uring.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2024-03-18 19:41:25 +0300
committerJens Axboe <axboe@kernel.dk>2024-04-15 17:10:24 +0300
commit254176234222c97c5da7fd33ff8c61d06480c228 (patch)
tree90591a374062c56def5d89f424823dc27024dfc9 /io_uring/io_uring.c
parentc133b3b06b0653036b0c07675c1db0c89467ccdb (diff)
downloadlinux-254176234222c97c5da7fd33ff8c61d06480c228.tar.xz
io_uring: flush delayed fallback task_work in cancelation
Just like we run the inline task_work, ensure we also factor in and run the fallback task_work. Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring/io_uring.c')
-rw-r--r--io_uring/io_uring.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
index 951ff3b787ab..805adebe19be 100644
--- a/io_uring/io_uring.c
+++ b/io_uring/io_uring.c
@@ -3218,6 +3218,8 @@ static __cold bool io_uring_try_cancel_requests(struct io_ring_ctx *ctx,
ret |= io_kill_timeouts(ctx, task, cancel_all);
if (task)
ret |= io_run_task_work() > 0;
+ else
+ ret |= flush_delayed_work(&ctx->fallback_work);
return ret;
}