diff --git a/io_uring/sqpoll.c b/io_uring/sqpoll.c index 272df9d00f45bbe391d4f52dd0df24f4c5eae0ac..7adfcf6818ff25076c8d03738e62989816ca20f5 100644 --- a/io_uring/sqpoll.c +++ b/io_uring/sqpoll.c @@ -465,6 +465,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;