diff --git a/io_uring/sqpoll.c b/io_uring/sqpoll.c index a096421505a6..10a2a20d89af 100644 --- a/io_uring/sqpoll.c +++ b/io_uring/sqpoll.c @@ -399,6 +399,8 @@ __cold int io_sq_offload_create(struct io_ring_ctx *ctx, int cpu = p->sq_thread_cpu; ret = -EINVAL; + if (cpu >= nr_cpu_ids || !cpu_online(cpu)) + goto err_sqpoll; cpuset_cpus_allowed(current, &allowed_mask); if (!cpumask_test_cpu(cpu, &allowed_mask)) goto err_sqpoll;