PCI: of_property: Return error for int_map allocation failure
authorDuoming Zhou <duoming@zju.edu.cn>
Sun, 3 Mar 2024 10:57:29 +0000 (18:57 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 2 May 2024 22:15:01 +0000 (17:15 -0500)
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>
drivers/pci/of_property.c

index c2c7334152bc0522c9a8ec2a4d44e66ffae344e8..03539e5053720f9e620077790a9f831f904e93b5 100644 (file)
@@ -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) {