vfio: Make the group FD disassociate from the iommu_group
Allow the vfio_group struct to exist with a NULL iommu_group pointer. When the pointer is NULL the vfio_group users promise not to touch the iommu_group. This allows a driver to be hot unplugged while userspace is keeping the group FD open. Remove all the code waiting for the group FD to close. This fixes a userspace regression where we learned that virtnodedevd leaves a group FD open even though the /dev/ node for it has been deleted and all the drivers for it unplugged. Fixes: ca5f21b2 ("vfio: Follow a strict lifetime for struct iommu_group") Reported-by:Christian Borntraeger <borntraeger@linux.ibm.com> Tested-by:
Matthew Rosato <mjrosato@linux.ibm.com> Tested-by:
Christian Borntraeger <borntraeger@de.ibm.com> Tested-by:
Eric Farman <farman@linux.ibm.com> Signed-off-by:
Jason Gunthorpe <jgg@nvidia.com> Link: https://lore.kernel.org/r/3-v2-15417f29324e+1c-vfio_group_disassociate_jgg@nvidia.comSigned-off-by:
Alex Williamson <alex.williamson@redhat.com>
Showing
Please register or sign in to comment