diff options
author | Duoming Zhou | 2024-03-03 18:57:29 +0800 |
---|---|---|
committer | Bjorn Helgaas | 2024-05-02 17:15:01 -0500 |
commit | e6f7d27df5d208b50cae817a91d128fb434bb12c (patch) | |
tree | a778aa2472193bd5180b209b52ca0aa167a76a2d /drivers/pci | |
parent | 4cece764965020c22cff7665b18a012006359095 (diff) |
PCI: of_property: Return error for int_map allocation failure
Return -ENOMEM from of_pci_prop_intr_map() if kcalloc() fails to prevent a
NULL pointer dereference in this case.
Fixes: 407d1a51921e ("PCI: Create device tree node for bridge")
Link: https://lore.kernel.org/r/20240303105729.78624-1-duoming@zju.edu.cn
Signed-off-by: Duoming Zhou <duoming@zju.edu.cn>
[bhelgaas: commit log]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/of_property.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/pci/of_property.c b/drivers/pci/of_property.c index c2c7334152bc..03539e505372 100644 --- a/drivers/pci/of_property.c +++ b/drivers/pci/of_property.c @@ -238,6 +238,8 @@ static int of_pci_prop_intr_map(struct pci_dev *pdev, struct of_changeset *ocs, return 0; int_map = kcalloc(map_sz, sizeof(u32), GFP_KERNEL); + if (!int_map) + return -ENOMEM; mapp = int_map; list_for_each_entry(child, &pdev->subordinate->devices, bus_list) { |