[Intel-gfx] [PATCH v5 15/19] vfio: Add cdev for vfio_device

Jason Gunthorpe jgg at nvidia.com
Mon Feb 27 19:06:08 UTC 2023


On Mon, Feb 27, 2023 at 03:11:31AM -0800, Yi Liu wrote:
> @@ -309,6 +310,13 @@ void vfio_unregister_group_dev(struct vfio_device *device)
>  	bool interrupted = false;
>  	long rc;
>  
> +	/*
> +	 * Balances vfio_device_add in register path. Putting it as the
> +	 * first operation in unregister to prevent registration refcount
> +	 * from incrementing per cdev open.
> +	 */
> +	vfio_device_del(device);
> +
>  	vfio_device_put_registration(device);
>  	rc = try_wait_for_completion(&device->comp);
>  	while (rc <= 0) {
> @@ -334,9 +342,6 @@ void vfio_unregister_group_dev(struct vfio_device *device)
>  
>  	vfio_device_group_unregister(device);
>  
> -	/* Balances device_add in register path */
> -	device_del(&device->device);
> -
>  	/* Balances vfio_device_set_group in register path */
>  	vfio_device_remove_group(device);

The same rational applies to vfio_device_group_unregister too, so it
should be moved up as well.

Jason


More information about the Intel-gfx mailing list