ACPI: video: prevent NULL deref in acpi_get_pci_dev()
ref: http://thread.gmane.org/gmane.linux.kernel/857228/focus=857468 When the ACPI video driver initializes, it does a namespace walk looking for for supported devices. When we find an appropriate handle, we walk up the ACPI tree looking for a PCI root bus, and then walk back down the PCI bus, assuming that every device inbetween is a P2P bridge. This assumption is not correct, and is reported broken on at least: Dell Latitude E6400 ThinkPad X61 Dell XPS M1330 Add a NULL deref check to prevent boot panics. Reported-by: Alessandro Suardi <alessandro.suardi@gmail.com> Signed-off-by: Troy Moure <twmoure@szypr.net> Signed-off-by: Alex Chiang <achiang@hp.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
3cd530b5aa
commit
412af97838
|
@ -395,7 +395,7 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle)
|
||||||
fn = adr & 0xffff;
|
fn = adr & 0xffff;
|
||||||
|
|
||||||
pdev = pci_get_slot(pbus, PCI_DEVFN(dev, fn));
|
pdev = pci_get_slot(pbus, PCI_DEVFN(dev, fn));
|
||||||
if (hnd == handle)
|
if (!pdev || hnd == handle)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
pbus = pdev->subordinate;
|
pbus = pdev->subordinate;
|
||||||
|
|
Loading…
Reference in New Issue