On 11/3/2026 1:45 AM, Lukas Wunner wrote:
A Root Port's subordinate bus may be NULL if the PCI core runs out of bus
numbers on enumeration. Yet when the AER driver searches for the source
of an Error Message, it dereferences the subordinate pointer without
checking for NULL. Fix it.
Fixes: 28eb27cf0839 ("PCI AER: support invalid error source IDs")
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Cc: <redacted> # v2.6.31+
---
Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
quoted hunk ↗ jump to hunk
drivers/pci/pcie/aer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
index db4f607f889c..d492c7ce01e1 100644
--- a/drivers/pci/pcie/aer.c
+++ b/drivers/pci/pcie/aer.c
@@ -1251,7 +1251,7 @@ static bool find_source_device(struct pci_dev *parent,
if (pci_pcie_type(parent) == PCI_EXP_TYPE_RC_EC)
pcie_walk_rcec(parent, find_device_iter, e_info);
- else
+ else if (parent->subordinate)
pci_walk_bus(parent->subordinate, find_device_iter, e_info);
if (!e_info->error_dev_num)
--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer