Hi David, On Wed, Apr 06, 2016 at 01:51:55PM +0200, David Engraf wrote: > Hi, > > I have an exception in __pci_bus_size_bridges() when pci_is_root_bus > returns false but bus->self == NULL. My driver registers a virtual > bus, like virtfn_add_bus(). pci_add_new_bus() is called with a > parent but without a pci_dev. Thus bus->parent is set but bus->self > is NULL. When __pci_bus_size_bridges() is called I get an exception > at: > > switch (bus->self->class >> 8) > > The previous version of the code, checking for bus->self != NULL > worked for me. I think an additional check is required to make sure > we're not accessing a NULL pointer. When you say "previous version of the code," do you mean a previous version of Linux worked correctly but a newer version does not? What versions are they? Did you identify a commit that changed the behavior? I assume you're talking about an out-of-tree driver that registers a virtual bus? Can you point us to the code? Can you share the dmesg log, including the backtrace? Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html