[PATCH v3 0/4] io_uring: Fix async workqueue is not canceled on some corner case

From: Muchun Song
Date: Tue Oct 06 2020 - 23:16:53 EST


We should make sure that async workqueue is canceled on exit, but on
some corner case, we found that the async workqueue is not canceled
on exit in the linux-5.4. So we started an in-depth investigation.
Fortunately, we finally found the problem. The commit:

1c4404efcf2c ("io_uring: make sure async workqueue is canceled on exit")

did not completely solve this problem. This patch series to solve this
problem completely. And there's no upstream variant of this commit, so
this patch series is just fix the linux-5.4.y stable branch.

changelog in v3:
1. Merge patch-4 to patch-1.

changelog in v2:
1. Fix missing save the current thread files
2. Fix double list add in io_queue_async_work()

Muchun Song (4):
io_uring: Fix missing smp_mb() in io_cancel_async_work()
io_uring: Fix remove irrelevant req from the task_list
io_uring: Fix missing save the current thread files
io_uring: Fix double list add in io_queue_async_work()

Yinyin Zhu (1):
io_uring: Fix resource leaking when kill the process

fs/io_uring.c | 59 +++++++++++++++++++++++++++++++++++++++--------------------
1 file changed, 39 insertions(+), 20 deletions(-)

--
2.11.0