[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200909300131.15046.rjw@sisk.pl>
Date: Wed, 30 Sep 2009 01:31:14 +0200
From: "Rafael J. Wysocki" <rjw@...k.pl>
To: Alex Chiang <achiang@...com>
Cc: Danny Feng <dfeng@...hat.com>, lenb@...nel.org,
bjorn.helgaas@...com, andrew.patterson@...com,
jbarnes@...tuousgeek.org, linux-acpi@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] acpi: pci_root: fix NULL pointer deref after resume from suspend
On Tuesday 29 September 2009, Alex Chiang wrote:
> * Rafael J. Wysocki <rjw@...k.pl>:
> > On Tuesday 29 September 2009, Danny Feng wrote:
> > > Is there any cases that pdev->subordinate is NULL while pdev is bridge
> > > device?
> > > From pci_slot.c::walk_p2p_bridge, there's code like following:
> > >
> > > dev = pci_get_slot(pci_bus, PCI_DEVFN(device, function));
> > > if (!dev || !dev->subordinate)
> > > goto out;
> > >
> > > It looks like dev->subordinate can be NULL even if in p2p
> > > bridge, right?
>
> In the code you post above, that results from doing an ACPI
> namespace walk, which will definitely find non-bridge devices.
>
> > Right, in general, but in this particular case each device we
> > inspect is supposed to be a parent of another device, which
> > implies that there's a bus below it (given that it's a PCI
> > device).
>
> Right, that's why I'm surprised that my assumption broke. But now
> that I see that a dock device is involved, maybe that's not so
> surprising.
Yeah. Still, I'd like to know the root cause.
Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists