summaryrefslogtreecommitdiffstats
path: root/drivers/pci/setup-irq.c
diff options
context:
space:
mode:
authorMike Qiu <qiudayu@linux.vnet.ibm.com>2014-04-15 00:12:35 +0200
committerBjorn Helgaas <bhelgaas@google.com>2014-04-15 00:12:35 +0200
commitff0c41b2df1577f3354f788af4f6bb5dbdfd26da (patch)
tree6cc7d886506931f27419040efd98e096508fb501 /drivers/pci/setup-irq.c
parentLinux 3.15-rc1 (diff)
downloadlinux-ff0c41b2df1577f3354f788af4f6bb5dbdfd26da.tar.xz
linux-ff0c41b2df1577f3354f788af4f6bb5dbdfd26da.zip
powerpc/PCI: Fix NULL dereference in sys_pciconfig_iobase() list traversal
3bc955987fb3 ("powerpc/PCI: Use list_for_each_entry() for bus traversal") caused a NULL pointer dereference because the loop body set the iterator to NULL: Unable to handle kernel paging request for data at address 0x00000000 Faulting instruction address: 0xc000000000041d78 Oops: Kernel access of bad area, sig: 11 [#1] ... NIP [c000000000041d78] .sys_pciconfig_iobase+0x68/0x1f0 LR [c000000000041e0c] .sys_pciconfig_iobase+0xfc/0x1f0 Call Trace: [c0000003b4787db0] [c000000000041e0c] .sys_pciconfig_iobase+0xfc/0x1f0 (unreliable) [c0000003b4787e30] [c000000000009ed8] syscall_exit+0x0/0x98 Fix it by using a temporary variable for the iterator. [bhelgaas: changelog, drop tmp_bus initialization] Fixes: 3bc955987fb3 powerpc/PCI: Use list_for_each_entry() for bus traversal Signed-off-by: Mike Qiu <qiudayu@linux.vnet.ibm.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci/setup-irq.c')
0 files changed, 0 insertions, 0 deletions