diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2024-09-19 14:25:31 -0500 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2024-09-19 14:25:31 -0500 |
commit | af6491944072755032c4b2f3a96bbced4148e9c9 (patch) | |
tree | 531335d41764dc131acdaf589d90e1f74826972b /drivers/pci | |
parent | e5f8d1c75b29b65e29aed7599130fc709b93c84d (diff) | |
parent | c500a86693a126c9393e602741e348f80f1b0fc5 (diff) |
Merge branch 'pci/controller/kirin'
- Fix potential buffer overflow in kirin_pcie_parse_port() (Alexandra
Diupina)
* pci/controller/kirin:
PCI: kirin: Fix buffer overflow in kirin_pcie_parse_port()
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/controller/dwc/pcie-kirin.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/pci/controller/dwc/pcie-kirin.c b/drivers/pci/controller/dwc/pcie-kirin.c index 0a29136491b8..85a2c77b1835 100644 --- a/drivers/pci/controller/dwc/pcie-kirin.c +++ b/drivers/pci/controller/dwc/pcie-kirin.c @@ -420,11 +420,11 @@ static int kirin_pcie_parse_port(struct kirin_pcie *pcie, "unable to get a valid reset gpio\n"); } - pcie->num_slots++; - if (pcie->num_slots > MAX_PCI_SLOTS) { + if (pcie->num_slots + 1 >= MAX_PCI_SLOTS) { dev_err(dev, "Too many PCI slots!\n"); return -EINVAL; } + pcie->num_slots++; ret = of_pci_get_devfn(child); if (ret < 0) { |