On Mon, Apr 19, 2024 at 16:09 Ammar Faizi wrote: >On Fri, Apr 19, 2024 at 3:47 PM hexue wrote: >> +void init_hybrid_poll_info(struct io_ring_ctx *ctx, struct io_kiocb *req) >> +{ >> + u32 index; >> + >> + index = req->file->f_inode->i_rdev; >> + struct iopoll_info *entry = xa_load(&ctx->poll_array, index); >> + >> + if (!entry) { >> + entry = kmalloc(sizeof(struct iopoll_info), GFP_KERNEL); >> + entry->last_runtime = 0; >> + entry->last_irqtime = 0; >> + xa_store(&ctx->poll_array, index, entry, GFP_KERNEL); >> + } > >GFP_KERNEL may fail; you must check for failure. Otherwise, it could >lead to NULL pointer dereference. > yes, thanks for your correction, I will fix this and resubmit v3 patch.