Re: [PATCH] ACPI / PCI: Fix NULL pointer dereference in acpi_get_pci_dev()

From: Rafael J. Wysocki
Date: Mon Oct 05 2009 - 20:01:41 EST


On Tuesday 06 October 2009, Alex Chiang wrote:
> * Rafael J. Wysocki <rjw@xxxxxxx>:
> >
> > Fixes http://bugzilla.kernel.org/show_bug.cgi?id=14129, which is a
> > regression from 2.6.30.
>
> Thanks for doing this.
>
> One small comment below (not major), but other than that:
>
> Reviewed-by: Alex Chiang <achiang@xxxxxx>
>
> > Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
> > Reported-by: Danny Feng <dfeng@xxxxxxxxxx>
> > Tested-by: chepioq <chepioq@xxxxxxxxx>
> > ---
> > drivers/acpi/pci_root.c | 12 ++++++++++++
> > 1 file changed, 12 insertions(+)
> >
> > Index: linux-2.6/drivers/acpi/pci_root.c
> > ===================================================================
> > --- linux-2.6.orig/drivers/acpi/pci_root.c
> > +++ linux-2.6/drivers/acpi/pci_root.c
> > @@ -389,6 +389,18 @@ struct pci_dev *acpi_get_pci_dev(acpi_ha
> >
> > pbus = pdev->subordinate;
> > pci_dev_put(pdev);
> > +
> > + /*
> > + * During resume from a sleep state we can get a dock
> > + * notification for a device that is present in ACPI tables,
> > + * but not physically accessible at the moment, so tell the
> > + * caller it's not present in that case.
> > + */
> > + if (!pbus) {
> > + dev_info(&pdev->dev, "Secondary bus not present\n");
>
> Should this be dev_dbg() or maybe even strike it completely?

I thought about that, but I decided not to just in order to get some idea about
how many affected systems are out there. If that happens to be a problem for
anyone, we can simply remove the message in the future.

>
> > + pdev = NULL;
> > + break;
> > + }
> > }
> > out:
> > list_for_each_entry_safe(node, tmp, &device_list, node)
> >

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/