Re: [PATCH] misc: alcor_pci: fix null-ptr-deref when there is no PCI bridge

From: Tong Zhang
Date: Tue May 11 2021 - 13:17:35 EST


On Tue, May 11, 2021 at 12:03 AM Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>
> On Mon, May 10, 2021 at 03:20:02PM -0700, Tong Zhang wrote:
> > On Mon, May 10, 2021 at 7:36 AM Greg Kroah-Hartman
> > <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > On Mon, Apr 26, 2021 at 06:07:27PM -0400, Tong Zhang wrote:
> > > > the PCI bridge might be NULL, so we'd better check before use it
> > >
> > > I do not understand, how can pci ever be NULL? There is only 1 way this
> >
> > Hi Greg,
> > I think the problem is with
> > priv->parent_pdev = pdev->bus->self
> > where bus->self can be NULL. when bus->self is NULL, calling
>
> How can bus->self be NULL?

Hi Greg,
Please correct me if I am wrong,
when bus->self is not NULL, it means there is a bridge,
However, a device can be directly attached to the port on the root
complex. In this case, the bus->self is NULL.

> Did you see this on a real system? How did you duplicate the error
> listed here?
I did this in QEMU. If QEMU is considered not real, then I haven't
seen an alcor controller configured in this way in a real system.
That being said, this kind of configuration is still legit IMHO.
Best,
- Tong

> thanks,
>
> greg k-h