Commit a86ade5c authored by Duoming Zhou's avatar Duoming Zhou Committed by heyujie
Browse files

PCI: of_property: Return error for int_map allocation failure

mainline inclusion
from mainline-v6.10-rc1
commit e6f7d27df5d208b50cae817a91d128fb434bb12c
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IA7YNF
CVE: CVE-2024-34030

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e6f7d27df5d208b50cae817a91d128fb434bb12c

--------------------------------

Return -ENOMEM from of_pci_prop_intr_map() if kcalloc() fails to prevent a
NULL pointer dereference in this case.

Fixes: 407d1a51 ("PCI: Create device tree node for bridge")
Link: https://lore.kernel.org/r/20240303105729.78624-1-duoming@zju.edu.cn


Signed-off-by: default avatarDuoming Zhou <duoming@zju.edu.cn>
[bhelgaas: commit log]
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Signed-off-by: default avatarHe Yujie <coka.heyujie@huawei.com>
parent 6b484f45
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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) {