From: Sergey Shtylyov Date: Tue, 27 Jan 2026 20:39:42 +0000 (+0300) Subject: PCI: Check parent for NULL in of_pci_bus_release_domain_nr() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f7245901de8978d829f80b3d8e36ed9a8fd18049;p=thirdparty%2Fkernel%2Flinux.git PCI: Check parent for NULL in of_pci_bus_release_domain_nr() of_pci_bus_find_domain_nr() allows its parent parameter to be NULL but of_pci_bus_release_domain_nr() (that undoes its effect) doesn't -- that means it's going to blow up while calling of_get_pci_domain_nr() if the parent parameter indeed happens to be NULL. Add the missing NULL check. Found by Linux Verification Center (linuxtesting.org) with the Svace static analysis tool. Fixes: c14f7ccc9f5d ("PCI: Assign PCI domain IDs by ida_alloc()") Signed-off-by: Sergey Shtylyov Signed-off-by: Bjorn Helgaas Link: https://patch.msgid.link/20260127203944.28588-1-s.shtylyov@auroraos.dev --- diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 13dbb405dc31..9fc4c2226b03 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -6591,7 +6591,7 @@ static void of_pci_bus_release_domain_nr(struct device *parent, int domain_nr) return; /* Release domain from IDA where it was allocated. */ - if (of_get_pci_domain_nr(parent->of_node) == domain_nr) + if (parent && of_get_pci_domain_nr(parent->of_node) == domain_nr) ida_free(&pci_domain_nr_static_ida, domain_nr); else ida_free(&pci_domain_nr_dynamic_ida, domain_nr);