Claudiu <claudiu.beznea@xxxxxxxxx> writes: > From: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx> > > Starting with commit dd26c1a23fd5 ("PCI: rcar-host: Switch to > msi_create_parent_irq_domain()"), the MSI parent IRQ domain is NULL because > the object of type struct irq_domain_info passed to: > > msi_create_parent_irq_domain() -> > irq_domain_instantiate()() -> > __irq_domain_instantiate() > > has no reference to the parent IRQ domain. Using msi->domain->parent as an > argument for generic_handle_domain_irq() leads to a "Unable to handle > kernel NULL pointer dereference at virtual address" error. Right. Before that commit, msi->domain is the domain of the children PCI devices, and msi->domain->parent is the domain of this device. That commit changed msi->domain to be the domain of this device. msi->domain->parent does not exist anymore. drivers/pci/controller/pcie-xilinx.c has the same issue, let me send a patch.. > This error was identified while switching the upcoming RZ/G3S PCIe host > controller driver to msi_create_parent_irq_domain() (which was using a > similar pattern to handle MSIs (see link section)), but it was not tested > on hardware using the pcie-rcar-host controller driver due to lack of > hardware. > > Link: https://lore.kernel.org/all/20250704161410.3931884-6-claudiu.beznea.uj@xxxxxxxxxxxxxx/ > Fixes: dd26c1a23fd5 ("PCI: rcar-host: Switch to msi_create_parent_irq_domain()") > Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx> Reviewed-by: Nam Cao <namcao@xxxxxxxxxxxxx>