alloc_workqueue() can fail, check the result and return an error back from io_uring_init() if needed. Fixes: 73eaa2b583493 ("io_uring: use private workqueue for exit work") Signed-off-by: Pavel Begunkov <asml.silence@xxxxxxxxx> --- io_uring/io_uring.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index b05580c1a6424..78a6cc84304f2 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -3925,6 +3925,8 @@ static int __init io_uring_init(void) return -ENOMEM; iou_wq = alloc_workqueue("iou_exit", WQ_UNBOUND, 64); + if (!iou_wq) + return -ENOMEM; #ifdef CONFIG_SYSCTL register_sysctl_init("kernel", kernel_io_uring_disabled_table); -- 2.47.1