Re: [PATCH v7 09/11] vfio: Delete the unbound_list
From: Alex Williamson
Date: Mon Feb 28 2022 - 17:06:43 EST
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>