2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-17 01:34:00 +08:00
linux-next/drivers/vfio
Alex Williamson 60720a0fc6 vfio: Add device tracking during unbind
There's a small window between the vfio bus driver calling
vfio_del_group_dev() and the device being completely unbound where
the vfio group appears to be non-viable.  This creates a race for
users like QEMU/KVM where the kvm-vfio module tries to get an
external reference to the group in order to match and release an
existing reference, while the device is potentially being removed
from the vfio bus driver.  If the group is momentarily non-viable,
kvm-vfio may not be able to release the group reference until VM
shutdown, making the group unusable until that point.

Bridge the gap between device removal from the group and completion
of the driver unbind by tracking it in a list.  The device is added
to the list before the bus driver reference is released and removed
using the existing unbind notifier.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
2015-02-06 15:05:06 -07:00
..
pci vfio-pci: Fix the check on pci device type in vfio_pci_probe() 2015-01-07 10:29:11 -07:00
Kconfig drivers/vfio: allow type-1 IOMMU instantiation on top of an ARM SMMU 2014-11-14 09:10:59 -07:00
Makefile drivers/vfio: Fix EEH build error 2014-08-08 10:36:20 -06:00
vfio_iommu_spapr_tce.c drivers/vfio: EEH support for VFIO PCI device 2014-08-05 15:28:48 +10:00
vfio_iommu_type1.c vfio/type1: Add conditional rescheduling 2015-02-06 14:19:12 -07:00
vfio_spapr_eeh.c drivers/vfio: Export vfio_spapr_iommu_eeh_ioctl() with GPL 2014-09-29 10:31:51 -06:00
vfio.c vfio: Add device tracking during unbind 2015-02-06 15:05:06 -07:00