On Wed, Feb 26, 2025 at 10:11:56PM +0000, Smita Koralahalli wrote: [...] > +static void cxl_cper_handle_prot_err(struct cxl_cper_prot_err_work_data *data) > +{ > + unsigned int devfn = PCI_DEVFN(data->prot_err.agent_addr.device, > + data->prot_err.agent_addr.function); > + struct pci_dev *pdev __free(pci_dev_put) = > + pci_get_domain_bus_and_slot(data->prot_err.agent_addr.segment, > + data->prot_err.agent_addr.bus, > + devfn); > + > + guard(device)(&pdev->dev); > + if (!pdev) > + return; > + If 'pdev == NULL', then there would be a NULL pointer dereference in the guard() statement, IIUC. So I think the guard() statement should go after the NULL pointer check. Thanks, Yazen