diff options
| author | Manivannan Sadhasivam <[email protected]> | 2024-09-12 05:30:25 +0000 |
|---|---|---|
| committer | Krzysztof Wilczyński <[email protected]> | 2024-09-13 22:12:29 +0000 |
| commit | 0cca961a026177af69044f10d6ae76d8ce043764 (patch) | |
| tree | 536bc881d606c4d33ed2389d25874295a09d7897 /drivers/pci/controller/dwc/pcie-designware.c | |
| parent | PCI: qcom: Add RX lane margining settings for 16.0 GT/s (diff) | |
| download | kernel-0cca961a026177af69044f10d6ae76d8ce043764.tar.gz kernel-0cca961a026177af69044f10d6ae76d8ce043764.zip | |
PCI: Pass domain number to pci_bus_release_domain_nr() explicitly
The pci_bus_release_domain_nr() API is supposed to free the domain
number allocated by pci_bus_find_domain_nr(). Most of the callers of
pci_bus_find_domain_nr(), store the domain number in pci_bus::domain_nr.
As such, the pci_bus_release_domain_nr() implicitly frees the domain
number by dereferencing 'struct pci_bus'. However, one of the callers
of this API, the PCI endpoint subsystem, doesn't have 'struct pci_bus',
so it only passes NULL. Due to this, the API will end up dereferencing
the NULL pointer.
To fix this issue, pass the domain number to this API explicitly. Since
'struct pci_bus' is not used for anything else other than extracting the
domain number, it makes sense to pass the domain number directly.
Fixes: 0328947c5032 ("PCI: endpoint: Assign PCI domain number for endpoint controllers")
Closes: https://lore.kernel.org/linux-pci/[email protected]
Link: https://lore.kernel.org/linux-pci/[email protected]
Reported-by: Dan Carpenter <[email protected]>
Signed-off-by: Manivannan Sadhasivam <[email protected]>
[kwilczynski: commit log]
Signed-off-by: Krzysztof Wilczyński <[email protected]>
Diffstat (limited to 'drivers/pci/controller/dwc/pcie-designware.c')
0 files changed, 0 insertions, 0 deletions
