The locking responsibilities have changed and a premature break in this section now causes the following assertion: Assertion '!preempt_count()' failed at preempt.c:36 Reported-by: Sander Eikelenboom <linux@eikelenboom.it> Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com> --- xen/drivers/passthrough/pci.c | 1 + 1 file changed, 1 insertion(+) diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c index ced0c28..2593fe4 100644 --- a/xen/drivers/passthrough/pci.c +++ b/xen/drivers/passthrough/pci.c @@ -1705,6 +1705,7 @@ int iommu_do_pci_domctl( seg, bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); ret = -EINVAL; } + pcidevs_unlock(); break; } else if ( !ret ) -- 2.7.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
On 04/12/2019 22:31, Igor Druzhinin wrote: > The locking responsibilities have changed and a premature break in > this section now causes the following assertion: > > Assertion '!preempt_count()' failed at preempt.c:36 > > Reported-by: Sander Eikelenboom <linux@eikelenboom.it> > Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com> > --- > xen/drivers/passthrough/pci.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c > index ced0c28..2593fe4 100644 > --- a/xen/drivers/passthrough/pci.c > +++ b/xen/drivers/passthrough/pci.c > @@ -1705,6 +1705,7 @@ int iommu_do_pci_domctl( > seg, bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); > ret = -EINVAL; > } > + pcidevs_unlock(); > break; > } > else if ( !ret ) > Just tested and it works for me, thanks Igor! -- Sander _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
On 04.12.2019 22:31, Igor Druzhinin wrote: > The locking responsibilities have changed and a premature break in > this section now causes the following assertion: > > Assertion '!preempt_count()' failed at preempt.c:36 > > Reported-by: Sander Eikelenboom <linux@eikelenboom.it> > Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com> > --- > xen/drivers/passthrough/pci.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c > index ced0c28..2593fe4 100644 > --- a/xen/drivers/passthrough/pci.c > +++ b/xen/drivers/passthrough/pci.c > @@ -1705,6 +1705,7 @@ int iommu_do_pci_domctl( > seg, bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); > ret = -EINVAL; > } > + pcidevs_unlock(); > break; As discussed on the thread of Sander's report, I think we'd be better off simply deleting the break statement. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel