powerpc/powernv: Add sanity checks to pnv_pci_get_{gpu|npu}_dev
The pnv_pci_get_{gpu|npu}_dev functions are used to find associations between nvlink PCIe devices and standard PCIe devices. However they lacked basic sanity checking which results in NULL pointer dereferencing if they are incorrect called can be harder to spot than an explicit WARN_ON. Signed-off-by: Alistair Popple <alistair@popple.id.au> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
Родитель
2475a2b6c8
Коммит
4c3b89effc
|
@ -37,6 +37,12 @@ struct pci_dev *pnv_pci_get_gpu_dev(struct pci_dev *npdev)
|
|||
struct device_node *dn;
|
||||
struct pci_dev *gpdev;
|
||||
|
||||
if (WARN_ON(!npdev))
|
||||
return NULL;
|
||||
|
||||
if (WARN_ON(!npdev->dev.of_node))
|
||||
return NULL;
|
||||
|
||||
/* Get assoicated PCI device */
|
||||
dn = of_parse_phandle(npdev->dev.of_node, "ibm,gpu", 0);
|
||||
if (!dn)
|
||||
|
@ -55,6 +61,12 @@ struct pci_dev *pnv_pci_get_npu_dev(struct pci_dev *gpdev, int index)
|
|||
struct device_node *dn;
|
||||
struct pci_dev *npdev;
|
||||
|
||||
if (WARN_ON(!gpdev))
|
||||
return NULL;
|
||||
|
||||
if (WARN_ON(!gpdev->dev.of_node))
|
||||
return NULL;
|
||||
|
||||
/* Get assoicated PCI device */
|
||||
dn = of_parse_phandle(gpdev->dev.of_node, "ibm,npu", index);
|
||||
if (!dn)
|
||||
|
|
Загрузка…
Ссылка в новой задаче