Re: [PATCH -v3 40/47] PCI: Add pci bus removal through /sys/.../pci_bus/.../remove

From: Jiang Liu
Date: Fri Apr 06 2012 - 12:22:48 EST


On 04/07/2012 12:07 AM, Bjorn Helgaas wrote:
> On Fri, Apr 6, 2012 at 10:01 AM, Yinghai Lu <yhlu.kernel@xxxxxxxxx> wrote:
>> On Fri, Apr 6, 2012 at 8:50 AM, Jiang Liu <liuj97@xxxxxxxxx> wrote:
>>> Hi Yinghai,
>>> I found many other drivers assume that a pci bus won't disappear if
>>> the corresponding PCI bridge device still exists. The sysfs interface proposed
>>> here breaks that assumption and may cause many access-after-free issues.
>>> So what's the purpose of this interface? Should we remove this interface or
>>> enhance other drivers to avoid invalid memory access issues?
>
> Can you point out some of the specifics about drivers making this
> assumption? I'm not thrilled about the idea of removing a pci_bus
> while the upstream bridge pci_dev still exists either.
According to my understanding, following drivers may have such an assumption:
acpiphp, pciehp, shpcphp, acpi/pci_slot, acpi/pci_bind.
I suspect there are still other drivers have such issues.

>
>> ok, will make it only show up on root bus.
>
> OK. I'm still interested in the specifics because I don't like the
> way the pci_bus is exposed, even inside the kernel. The bus itself is
> not an active entity, and we can't really do anything with it except
> by touching a device connected to it.
>
> Bjorn

--
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/