]> git.ipfire.org Git - thirdparty/qemu.git/commit
vfio: Fix vfio-kvm group registration
authorAlex Williamson <alex.williamson@redhat.com>
Wed, 13 Dec 2017 17:19:32 +0000 (10:19 -0700)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Tue, 9 Jan 2018 17:09:36 +0000 (11:09 -0600)
commitd6f1448277ac228dcc60346204d88363c94a1e3c
tree4c2392acf68e0a4c6a756e4813a6f8cdcc08ce2c
parent7f53a8107386d2943ff83c3224775a3eea82b767
vfio: Fix vfio-kvm group registration

Commit 8c37faa475f3 ("vfio-pci, ppc64/spapr: Reorder group-to-container
attaching") moved registration of groups with the vfio-kvm device from
vfio_get_group() to vfio_connect_container(), but it missed the case
where a group is attached to an existing container and takes an early
exit.  Perhaps this is a less common case on ppc64/spapr, but on x86
(without viommu) all groups are connected to the same container and
thus only the first group gets registered with the vfio-kvm device.
This becomes a problem if we then hot-unplug the devices associated
with that first group and we end up with KVM being misinformed about
any vfio connections that might remain.  Fix by including the call to
vfio_kvm_device_add_group() in this early exit path.

Fixes: 8c37faa475f3 ("vfio-pci, ppc64/spapr: Reorder group-to-container attaching")
Cc: qemu-stable@nongnu.org # qemu-2.10+
Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: Peter Xu <peterx@redhat.com>
Tested-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
(cherry picked from commit 2016986aedb6ea2839662eb5f60630f3e231bd1a)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
hw/vfio/common.c