[Intel-gfx] [PATCH] drm/i915: use i915_gem_object_put_unlocked() after releasing mutex

Chris Wilson chris at chris-wilson.co.uk
Thu Jul 21 17:25:39 UTC 2016


On Thu, Jul 21, 2016 at 05:58:03PM +0100, Dave Gordon wrote:
> The exit path in intel_overlay_put_image_ioctl() first unlocks the
> struct_mutex, then drops its reference to 'new_bo' by calling
> i915_gem_object_put(). As it isn't holding the mutex at this point,
> this should be i915_gem_object_put_unlocked().
> 
> This was previously correct but got splatted in the recent
> s/drm_gem_object_unreference/i915_gem_object_put/
> where the _unlocked suffix was lost in this one case.
> 
> Also fixes a whitespace glitch introduced in the same commit.

The glitch was already there.
 
> Fixes: f8c417cd drm/i915: Rename drm_gem_object_unreference in preparation ...
> Signed-off-by: Dave Gordon <david.s.gordon at intel.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>  drivers/gpu/drm/i915/i915_gem_evict.c | 3 +--
>  drivers/gpu/drm/i915/intel_overlay.c  | 2 +-
>  2 files changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem_evict.c b/drivers/gpu/drm/i915/i915_gem_evict.c
> index 81f7b43..6e09e11 100644
> --- a/drivers/gpu/drm/i915/i915_gem_evict.c
> +++ b/drivers/gpu/drm/i915/i915_gem_evict.c
> @@ -196,8 +196,7 @@
>  		vma = list_first_entry(&eviction_list,
>  				       struct i915_vma,
>  				       exec_list);
> -

Don't remove this line.

> -		obj =  vma->obj;
> +		obj = vma->obj;
>  		list_del_init(&vma->exec_list);
>  		if (ret == 0)
>  			ret = i915_vma_unbind(vma);
> diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c
> index 8654a32..c10ce36 100644
> --- a/drivers/gpu/drm/i915/intel_overlay.c
> +++ b/drivers/gpu/drm/i915/intel_overlay.c
> @@ -1219,7 +1219,7 @@ int intel_overlay_put_image_ioctl(struct drm_device *dev, void *data,
>  out_unlock:
>  	mutex_unlock(&dev->struct_mutex);
>  	drm_modeset_unlock_all(dev);
> -	i915_gem_object_put(new_bo);
> +	i915_gem_object_put_unlocked(new_bo);

Otherwise,
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list