First two are only for task cancellation, the last one for both. Jens, do you remember the exact reason why you added the check removed in [3/3]? I have a clue, but that stuff doesn't look right regardless. See "exit: do exit_task_work() before shooting off mm" thread. Pavel Begunkov (3): io_uring: always progress task_work on task cancel io_uring: end waiting before task cancel attempts io_uring: fix cancellation hangs fs/io_uring.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) -- 2.24.0