On 2/23/21 5:40 AM, Pavel Begunkov wrote: > + if (!ctx->cq_overflow_flushed && > + !atomic_read(&req->task->io_uring->in_idle)) { > + struct io_overflow_cqe *ocqe = kmalloc(sizeof(*ocqe), GFP_KERNEL); This needs to be GFP_ATOMIC. And we should probably make it GFP_ATOMIC | __GFP_ACCOUNT to ensure it gets accounted, since the list could grow pretty big potentially. -- Jens Axboe