aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Kirjanov <dkirjanov@hera.kernel.org>2010-06-16 05:16:59 +0000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2010-07-08 18:11:43 +1000
commitd3005fbc696781d2fd7bd5b5389a94fae5332b58 (patch)
tree1369363ca618ead993a57e2dd5aa5e67bc7bf251
parent33ad5e4b6cab3ad8cf3afda49b66393f1833150e (diff)
downloadlinux-linaro-d3005fbc696781d2fd7bd5b5389a94fae5332b58.tar.gz
powerpc/iseries: Fix possible null pointer dereference in iSeries_pcibios_fixup_resources
I don't know if this is a right fix for the problem since of_get_property can return NULL. Since iseries_device_information is used only for informational purpose, we can skip this function without valid HvSubBusNumber number. Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r--arch/powerpc/platforms/iseries/pci.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/iseries/pci.c b/arch/powerpc/platforms/iseries/pci.c
index 3fc2e6494b8..ab3962b0d24 100644
--- a/arch/powerpc/platforms/iseries/pci.c
+++ b/arch/powerpc/platforms/iseries/pci.c
@@ -445,7 +445,11 @@ void __init iSeries_pcibios_fixup_resources(struct pci_dev *pdev)
}
allocate_device_bars(pdev);
- iseries_device_information(pdev, bus, *sub_bus);
+ if (likely(sub_bus))
+ iseries_device_information(pdev, bus, *sub_bus);
+ else
+ printk(KERN_ERR "PCI: Device node %s has missing or invalid "
+ "linux,subbus property\n", node->full_name);
}
/*