On Tue, Sep 23, 2014 at 3:55 PM, Guenter Roeck <linux@xxxxxxxxxxxx> wrote: > On Mon, Sep 15, 2014 at 10:20:41PM +0000, Rajat Jain wrote: >> Hello Bjorn, >> >> I think this patch needs to be applied to all -stable branches (all the way back to 3.2). >> >> I encounter this same issue on my platform that is running 3.14.y. >> > Bjorn, > > can you send this to -stable, or is it ok if I do it ? I forgot to mention it, but I did mark it for stable, so it should happen automatically: https://git.kernel.org/cgit/linux/kernel/git/helgaas/pci.git/commit/?h=pci/hotplug&id=bceee4a97eb58bd0e80e39eff11b506ddd9e7ad3 >> > -----Original Message----- >> > From: linux-pci-owner@xxxxxxxxxxxxxxx [mailto:linux-pci- >> > owner@xxxxxxxxxxxxxxx] On Behalf Of Andreas Noever >> > Sent: Monday, June 09, 2014 2:04 PM >> > To: linux-kernel@xxxxxxxxxxxxxxx; Bjorn Helgaas; linux-pci@xxxxxxxxxxxxxxx >> > Cc: Andreas Noever >> > Subject: [PATCH] PCI: Prevent NULL dereference during pciehp probe >> > >> > pciehp assumes that dev->subordinate exists. But we do not assign a bus if >> > we run out of bus numbers during enumeration. This leads to a NULL >> > dereference in init_slot (and other places). >> > >> > Change pciehp_probe to return -ENODEV when no subordinate bus is >> > present. >> > >> > Signed-off-by: Andreas Noever <andreas.noever@xxxxxxxxx> >> > --- >> > drivers/pci/hotplug/pciehp_core.c | 7 +++++++ >> > 1 file changed, 7 insertions(+) >> > >> > diff --git a/drivers/pci/hotplug/pciehp_core.c >> > b/drivers/pci/hotplug/pciehp_core.c >> > index 0e0a2ff..e5abcaf 100644 >> > --- a/drivers/pci/hotplug/pciehp_core.c >> > +++ b/drivers/pci/hotplug/pciehp_core.c >> > @@ -255,6 +255,13 @@ static int pciehp_probe(struct pcie_device *dev) >> > else if (pciehp_acpi_slot_detection_check(dev->port)) >> > goto err_out_none; >> > >> > + if (!dev->port->subordinate) { >> > + /* Can happen if we run out of bus numbers during probe */ >> > + dev_err(&dev->device, >> > + "Hotplug bridge without secondary bus, ignoring\n"); >> > + goto err_out_none; >> > + } >> > + >> > ctrl = pcie_init(dev); >> > if (!ctrl) { >> > dev_err(&dev->device, "Controller initialization failed\n"); >> > -- >> > 2.0.0 >> > >> > -- >> > To unsubscribe from this list: send the line "unsubscribe linux-pci" in the >> > body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at >> > http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html