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 <[email protected]>
> Cc: [email protected] # v2.6.31+
> ---
Reviewed-by: Kuppuswamy Sathyanarayanan
<[email protected]>
> 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