From: Pavel Begunkov Date: Sun, 20 Dec 2020 13:21:43 +0000 (+0000) Subject: io_uring: always progress task_work on task cancel X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=55583d72e2303638d30dd4a7aabef59ffa0a017a;p=uclinux-h8%2Flinux.git io_uring: always progress task_work on task cancel Might happen that __io_uring_cancel_task_requests() cancels nothing but there are task_works pending. We need to always run them. Signed-off-by: Pavel Begunkov Signed-off-by: Jens Axboe --- diff --git a/fs/io_uring.c b/fs/io_uring.c index 48b9332c2354..d0ab6b503a9f 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -8801,9 +8801,9 @@ static void __io_uring_cancel_task_requests(struct io_ring_ctx *ctx, ret |= io_poll_remove_all(ctx, task, NULL); ret |= io_kill_timeouts(ctx, task, NULL); + ret |= io_run_task_work(); if (!ret) break; - io_run_task_work(); cond_resched(); } }