On Mon, 28 Feb 2022 08:50:54 +0800 Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> wrote: > From: Jason Gunthorpe <jgg@xxxxxxxxxx> > > commit 60720a0fc646 ("vfio: Add device tracking during unbind") added the > unbound list to plug a problem with KVM where KVM_DEV_VFIO_GROUP_DEL > relied on vfio_group_get_external_user() succeeding to return the > vfio_group from a group file descriptor. The unbound list allowed > vfio_group_get_external_user() to continue to succeed in edge cases. > > However commit 5d6dee80a1e9 ("vfio: New external user group/file match") > deleted the call to vfio_group_get_external_user() during > KVM_DEV_VFIO_GROUP_DEL. Instead vfio_external_group_match_file() is used > to directly match the file descriptor to the group pointer. > > This in turn avoids the call down to vfio_dev_viable() during > KVM_DEV_VFIO_GROUP_DEL and also avoids the trouble the first commit was > trying to fix. > > There are no other users of vfio_dev_viable() that care about the time > after vfio_unregister_group_dev() returns, so simply delete the > unbound_list entirely. > > Reviewed-by: Chaitanya Kulkarni <kch@xxxxxxxxxx> > Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxx> > Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> > --- > drivers/vfio/vfio.c | 74 ++------------------------------------------- > 1 file changed, 2 insertions(+), 72 deletions(-) Acked-by: Alex Williamson <alex.williamson@xxxxxxxxxx>