[PATCH] drm/i915/gvt: initialize dmabuf mutex in vgpu_create

Zhenyu Wang zhenyuw at linux.intel.com
Tue Jul 31 02:39:57 UTC 2018


On 2018.07.30 10:52:53 +0800, intel-gvt-dev-bounces at lists.freedesktop.org wrote:
> From: Hang Yuan <hang.yuan at linux.intel.com>
> 
> Currently, the mutex used in GVT dmabuf support is not initialized until
> vgpu device is opened. If one vgpu device is opened and then removed, the
> mutex will be used in vgpu remove operation without initialization. This
> patch initializes the mutex in vgpu create operation to avoid the problem.
>

Good catch! Looks fine to me. Pls still think about adding stable kernel in cc
for this kind of fixes, definitely fit for stable kernel with proper version.

Reviewed-by: Zhenyu Wang <zhenyuw at linux.intel.com>

thanks!

> Fixes: e546e281d33d("drm/i915/gvt: Dmabuf support for GVT-g")
> Signed-off-by: Hang Yuan <hang.yuan at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/gvt/kvmgt.c | 1 -
>  drivers/gpu/drm/i915/gvt/vgpu.c  | 1 +
>  2 files changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/gvt/kvmgt.c b/drivers/gpu/drm/i915/gvt/kvmgt.c
> index a22d539..cbdf915e 100644
> --- a/drivers/gpu/drm/i915/gvt/kvmgt.c
> +++ b/drivers/gpu/drm/i915/gvt/kvmgt.c
> @@ -1615,7 +1615,6 @@ static int kvmgt_guest_init(struct mdev_device *mdev)
>  	kvmgt_protect_table_init(info);
>  	gvt_cache_init(vgpu);
>  
> -	mutex_init(&vgpu->dmabuf_lock);
>  	init_completion(&vgpu->vblank_done);
>  
>  	info->track_node.track_write = kvmgt_page_track_write;
> diff --git a/drivers/gpu/drm/i915/gvt/vgpu.c b/drivers/gpu/drm/i915/gvt/vgpu.c
> index f6fa916..0bc1f1e 100644
> --- a/drivers/gpu/drm/i915/gvt/vgpu.c
> +++ b/drivers/gpu/drm/i915/gvt/vgpu.c
> @@ -361,6 +361,7 @@ static struct intel_vgpu *__intel_gvt_create_vgpu(struct intel_gvt *gvt,
>  	vgpu->gvt = gvt;
>  	vgpu->sched_ctl.weight = param->weight;
>  	mutex_init(&vgpu->vgpu_lock);
> +	mutex_init(&vgpu->dmabuf_lock);
>  	INIT_LIST_HEAD(&vgpu->dmabuf_obj_list_head);
>  	INIT_RADIX_TREE(&vgpu->page_track_tree, GFP_KERNEL);
>  	idr_init(&vgpu->object_idr);
> -- 
> 2.7.4
> 
> _______________________________________________
> intel-gvt-dev mailing list
> intel-gvt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gvt-dev

-- 
Open Source Technology Center, Intel ltd.

$gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827
-------------- 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-gvt-dev/attachments/20180731/30646272/attachment.sig>


More information about the intel-gvt-dev mailing list