[PATCH 02/13] vfio: Introduce a vfio_uninit_group_dev() API call

Leon Romanovsky leonro at nvidia.com
Thu Jul 15 03:49:05 UTC 2021


On Wed, Jul 14, 2021 at 09:20:31PM -0300, Jason Gunthorpe wrote:
> From: Max Gurtovoy <mgurtovoy at nvidia.com>
> 
> This pairs with vfio_init_group_dev() and allows undoing any state that is
> stored in the vfio_device unrelated to registration. Add appropriately
> placed calls to all the drivers.
> 
> The following patch will use this to add pre-registration state for the
> device set.
> 
> Signed-off-by: Max Gurtovoy <mgurtovoy at nvidia.com>
> Signed-off-by: Jason Gunthorpe <jgg at nvidia.com>
> ---
>  Documentation/driver-api/vfio.rst            |  4 ++-
>  drivers/vfio/fsl-mc/vfio_fsl_mc.c            |  6 +++--
>  drivers/vfio/mdev/vfio_mdev.c                | 13 +++++++---
>  drivers/vfio/pci/vfio_pci.c                  |  6 +++--
>  drivers/vfio/platform/vfio_platform_common.c |  7 +++--
>  drivers/vfio/vfio.c                          |  5 ++++
>  include/linux/vfio.h                         |  1 +
>  samples/vfio-mdev/mbochs.c                   |  2 ++
>  samples/vfio-mdev/mdpy.c                     | 25 ++++++++++--------
>  samples/vfio-mdev/mtty.c                     | 27 ++++++++++++--------
>  10 files changed, 64 insertions(+), 32 deletions(-)

<...>

> @@ -674,6 +675,7 @@ static int vfio_fsl_mc_remove(struct fsl_mc_device *mc_dev)
>  
>  	dprc_remove_devices(mc_dev, NULL, 0);
>  	vfio_fsl_uninit_device(vdev);
> +	vfio_uninit_group_dev(&vdev->vdev);

This is wrong place, the _uninit_ should be after vfio_fsl_mc_reflck_put().

>  	vfio_fsl_mc_reflck_put(vdev->reflck);
>  
>  	kfree(vdev);


More information about the dri-devel mailing list