[PATCH] io_uring: fix task leak issue in io_wq_create()

Penglei Jiang posted 1 patch 3 months, 3 weeks ago
io_uring/io-wq.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
[PATCH] io_uring: fix task leak issue in io_wq_create()
Posted by Penglei Jiang 3 months, 3 weeks ago
Add missing put_task_struct() in the error path

Fixes: 0f8baa3c9802 ("io-wq: fully initialize wqe before calling cpuhp_state_add_instance_nocalls()")
Signed-off-by: Penglei Jiang <superman.xpt@gmail.com>
---
 io_uring/io-wq.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/io_uring/io-wq.c b/io_uring/io-wq.c
index cd1fcb115739..be91edf34f01 100644
--- a/io_uring/io-wq.c
+++ b/io_uring/io-wq.c
@@ -1259,8 +1259,10 @@ struct io_wq *io_wq_create(unsigned bounded, struct io_wq_data *data)
 	atomic_set(&wq->worker_refs, 1);
 	init_completion(&wq->worker_done);
 	ret = cpuhp_state_add_instance_nocalls(io_wq_online, &wq->cpuhp_node);
-	if (ret)
+	if (ret) {
+		put_task_struct(wq->task);
 		goto err;
+	}
 
 	return wq;
 err:
-- 
2.17.1
Re: [PATCH] io_uring: fix task leak issue in io_wq_create()
Posted by Jens Axboe 3 months, 3 weeks ago
On Sun, 15 Jun 2025 09:39:06 -0700, Penglei Jiang wrote:
> Add missing put_task_struct() in the error path
> 
> 

Applied, thanks!

[1/1] io_uring: fix task leak issue in io_wq_create()
      commit: 89465d923bda180299e69ee2800aab84ad0ba689

Best regards,
-- 
Jens Axboe