Messages in this thread | | | Date | Thu, 24 Sep 2015 11:59:20 -0500 | From | Bjorn Helgaas <> | Subject | Re: [PATCH] PCI/MSI: Fix MSI IRQ domains for SR-IOV |
| |
[+cc Joerg]
On Fri, Sep 18, 2015 at 03:08:54PM -0600, Alex Williamson wrote: > SR-IOV creates a virtual bus where bus->self is NULL. This results > in a segfault as VFs are added and we scan for an MSI domain without > taking that into account. Detect this and scan up to the parent bus > until we find a real bridge. > > Fixes: 44aa0c657e3e ("PCI/MSI: Add hooks to populate the msi_domain field") > Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Applied to for-linus with changelog below for v4.3, thanks!
PCI/MSI: Fix MSI IRQ domains for VFs on virtual buses
SR-IOV creates a virtual bus where bus->self is NULL. When we add VFs and scan for an MSI domain, pci_set_bus_msi_domain() dereferences bus->self, which causes a kernel NULL pointer dereference oops.
Scan up to the parent bus until we find a real bridge where we can get the MSI domain.
[bhelgaas: changelog] Fixes: 44aa0c657e3e ("PCI/MSI: Add hooks to populate the msi_domain field") Tested-by: Joerg Roedel <joro@8bytes.org> Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Bjorn Helgaas <helgaas@kernel.org> Acked-by: Marc Zyngier <marc.zyngier@arm.com>
| |