[Intel-gfx] [PATCH 12/13] vfio/gvt: Fix open/close when multiple device FDs are open
Zhenyu Wang
zhenyuw at linux.intel.com
Fri Jul 16 06:50:57 UTC 2021
On 2021.07.14 21:20:41 -0300, Jason Gunthorpe wrote:
> The user can open multiple device FDs if it likes, however the open
> function calls vfio_register_notifier() on device global state. Calling
> vfio_register_notifier() twice will trigger a WARN_ON from
> notifier_chain_register() and the first close will wrongly delete the
> notifier and more.
>
> Since these really want the new open/close_device() semantics just change
> the function over.
>
> Signed-off-by: Jason Gunthorpe <jgg at nvidia.com>
> ---
> drivers/gpu/drm/i915/gvt/kvmgt.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gvt/kvmgt.c b/drivers/gpu/drm/i915/gvt/kvmgt.c
> index 1ac98f8aba31e6..7efa386449d104 100644
> --- a/drivers/gpu/drm/i915/gvt/kvmgt.c
> +++ b/drivers/gpu/drm/i915/gvt/kvmgt.c
> @@ -885,7 +885,7 @@ static int intel_vgpu_group_notifier(struct notifier_block *nb,
> return NOTIFY_OK;
> }
>
> -static int intel_vgpu_open(struct mdev_device *mdev)
> +static int intel_vgpu_open_device(struct mdev_device *mdev)
> {
> struct intel_vgpu *vgpu = mdev_get_drvdata(mdev);
> struct kvmgt_vdev *vdev = kvmgt_vdev(vgpu);
> @@ -1004,7 +1004,7 @@ static void __intel_vgpu_release(struct intel_vgpu *vgpu)
> vgpu->handle = 0;
> }
>
> -static void intel_vgpu_release(struct mdev_device *mdev)
> +static void intel_vgpu_close_device(struct mdev_device *mdev)
> {
> struct intel_vgpu *vgpu = mdev_get_drvdata(mdev);
>
> @@ -1753,8 +1753,8 @@ static struct mdev_parent_ops intel_vgpu_ops = {
> .create = intel_vgpu_create,
> .remove = intel_vgpu_remove,
>
> - .open = intel_vgpu_open,
> - .release = intel_vgpu_release,
> + .open_device = intel_vgpu_open_device,
> + .close_device = intel_vgpu_close_device,
>
> .read = intel_vgpu_read,
> .write = intel_vgpu_write,
Looks ok to me. Thanks!
Reviewed-by: Zhenyu Wang <zhenyuw at linux.intel.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20210716/e1e7b0fd/attachment.sig>
More information about the Intel-gfx
mailing list