[PATCH 1/1] um: virt-pci: Switch to msi_create_parent_irq_domain()
Nam Cao
namcao at linutronix.de
Fri Jun 27 02:49:01 PDT 2025
On Fri, Jun 27, 2025 at 11:23:58AM +0200, Johannes Berg wrote:
> On Fri, 2025-06-27 at 10:49 +0200, Nam Cao wrote:
> >
> > Thanks for testing! The later kernel crash should be fixed with:
> >
> > diff --git a/arch/um/drivers/virt-pci.c b/arch/um/drivers/virt-pci.c
> > index e51a9357934da..557d93aea00a1 100644
> > --- a/arch/um/drivers/virt-pci.c
> > +++ b/arch/um/drivers/virt-pci.c
> > @@ -407,7 +407,6 @@ static const struct irq_domain_ops um_pci_inner_domain_ops = {
> >
> > #define UM_PCI_MSI_FLAGS_REQUIRED (MSI_FLAG_USE_DEF_DOM_OPS | \
> > MSI_FLAG_USE_DEF_CHIP_OPS | \
> > - MSI_FLAG_PCI_MSI_MASK_PARENT | \
> > MSI_FLAG_NO_AFFINITY)
>
> Can confirm that.
>
> > I have no immediate idea about the lockdep warn, I don't see how the
> > MSI_FLAG_PCI_MSI_MASK_PARENT flag can be related to that. Probably there's
> > another problem, let me stare at it..
My understanding of UM is limited, but I think I get it. We dereference a
NULL pointer and get SIGSEGV. We go into that code path and lockdep yells.
With the NULL pointer deref removed, we won't go into that path, so it
should be good.
> Seems to go away as well, perhaps it's due to taking some wrong path
> with the flag just prior to the crash?
>
> IOW, works for me with the above change with no crash and no lockdep
> warning either.
I will send v2.
Nam
More information about the linux-um
mailing list