We forget to save the current thread files, in this case, we can not
send SIGINT signal to the kworker because the files is not equal.

Fixes: 54ee77961e79 ("io_uring: Fix NULL pointer dereference in 
io_sq_wq_submit_work()")
Signed-off-by: Muchun Song <[email protected]>
---
 fs/io_uring.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/fs/io_uring.c b/fs/io_uring.c
index 12e68ea00a543..c65f78f395655 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -2391,6 +2391,8 @@ static bool io_add_to_prev_work(struct async_list *list, 
struct io_kiocb *req)
        if (ret) {
                struct io_ring_ctx *ctx = req->ctx;
 
+               req->files = current->files;
+
                spin_lock_irq(&ctx->task_lock);
                list_add(&req->task_list, &ctx->task_list);
                req->work_task = NULL;
-- 
2.11.0

Reply via email to