alloc_workqueue() can fail, check the result and return an error back from io_uring_init() if anything goes wrong. Fixes: 73eaa2b583493 ("io_uring: use private workqueue for exit work") Signed-off-by: Pavel Begunkov <asml.silence@xxxxxxxxx> --- v2: drop other patches 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 263e504be4a8b..4d6d2c494046c 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -3920,6 +3920,8 @@ static int __init io_uring_init(void) SLAB_HWCACHE_ALIGN | SLAB_PANIC | SLAB_ACCOUNT); 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