Re: [PATCH] pci: fix no_pci_devices() #2

From: Vegard Nossum
Date: Fri Jan 16 2009 - 14:22:16 EST


On Fri, Jan 16, 2009 at 7:41 PM, Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> wrote:
>> > Assuming Greg already took the generic part, can you resend the PCI part
>> > to the linux-pci@xxxxxxxxxxxxxxx list for review just in case anyone has
>> > a better idea of how to do it?
>>
>> Did I take the generic part? I can't remember...
>
> Doesn't look like it. Vergard can you send out an updated patch set?

Actually, my patch is still just a hack, since pci_bus_type.p is still
set before the pci_bus_type is really usable. So if the kernel crashes
(or, in general, no_pci_devices() is called) at some point between the
pci_bus_type.p = <something> and pci_bus_type.p = NULL (which I
inserted), we will still see the same type of fault.

So I would prefer to solve this in a different way, like a dedicated
flag which is only set after we know that pci_bus_type initialisation
succeeded. I think that was the approach of my first patch? I don't
remember. In any case, such a patch could not be split in generic/pci
parts, I think. Also, should we anticipate concurrent access to
pci_bus_type.p or such a dedicated "no_pci_devices" flag?

Here is the first patch, but I wonder if it should be turned into
atomic_t instead: http://lkml.org/lkml/2008/12/20/33


Vegard

--
"The animistic metaphor of the bug that maliciously sneaked in while
the programmer was not looking is intellectually dishonest as it
disguises that the error is the programmer's own creation."
-- E. W. Dijkstra, EWD1036
--
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/