Re: [Xen-devel] [PATCH 0/5] Xen PV on HVM fixes

From: Stefano Stabellini
Date: Thu Dec 02 2010 - 09:42:41 EST


On Wed, 1 Dec 2010, Jeremy Fitzhardinge wrote:
> On 12/01/2010 10:22 AM, Stefano Stabellini wrote:
> > Hi all,
> > this patch series is a collection of fixes for Xen PV on HVM.
> >
> > The first two patches fix two pirq remapping problems with MSIs, they
> > have been sent to the list few times already for comments.
> > The three following patches are new and fix save/restore bugs.
>
> Are you targeting these at 3.6.37-rc?

Yes, because the bugs are pretty serious.


> If so, each changelog commit
> should explicitly say what bug is being fixed, and what the impact of
> the bug is. The last 3 are OK, but it isn't clear to me whether the
> first two are strictly bugfixes or not.
>

The first patch fixes find_unbound_pirq that otherwise would be based on
PHYSDEVOP_get_nr_pirqs that is actually not supported by Xen,
therefore it would fail. So find_unbound_pirq would return a number
starting from nr_irqs that might very well be out of range in Xen.

The symptom of this bug is that when you passthrough an MSI capable pci
device to a PV on HVM guest, Linux would fail to enable MSIs on the
device.


The second patch fixes a bug in xen_hvm_setup_msi_irqs that manifests
itself when trying to enable the same MSI for the second time: qemu is
responsible for remapping MSIs into pirqs and considers the old MSI to
pirq mapping still valid at this point but xen_hvm_setup_msi_irqs
would try to assign a new pirq anyway.

A simple way to reproduce this bug is to assign an MSI capable network
card to a PV on HVM guest, if the user brings down the corresponding
ethernet interface and up again, Linux would fail to enable MSIs on the
device.



I have updated the first two commit messages with these info, the branch
is still the same:

git://xenbits.xen.org/people/sstabellini/linux-pvhvm.git 2.6.37-rc4-pvhvm-fixes

--
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/