[PATCH] drm/syncobj: Fix oops on drm_syncobj_find_fence(file_priv, 0, ...).

Zhou, David(ChunMing) David1.Zhou at amd.com
Tue Nov 6 02:18:38 UTC 2018


Reviewed-by: Chunming Zhou <david1.zhou at amd.com>

> -----Original Message-----
> From: Eric Anholt <eric at anholt.net>
> Sent: Tuesday, November 06, 2018 7:01 AM
> To: dri-devel at lists.freedesktop.org
> Cc: linux-kernel at vger.kernel.org; Eric Anholt <eric at anholt.net>; Zhou,
> David(ChunMing) <David1.Zhou at amd.com>; Koenig, Christian
> <Christian.Koenig at amd.com>
> Subject: [PATCH] drm/syncobj: Fix oops on
> drm_syncobj_find_fence(file_priv, 0, ...).
> 
> This broke rendering on V3D, where we almost always have a 0 in-syncobj.
> 
> Signed-off-by: Eric Anholt <eric at anholt.net>
> Fixes: 48197bc564c7 ("drm: add syncobj timeline support v9")
> Cc: Chunming Zhou <david1.zhou at amd.com>
> Cc: Christian König <christian.koenig at amd.com>
> ---
>  drivers/gpu/drm/drm_syncobj.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/drm_syncobj.c
> b/drivers/gpu/drm/drm_syncobj.c index 4dca5f7e8c4b..da8175d9c6ff 100644
> --- a/drivers/gpu/drm/drm_syncobj.c
> +++ b/drivers/gpu/drm/drm_syncobj.c
> @@ -443,7 +443,8 @@ int drm_syncobj_find_fence(struct drm_file
> *file_private,
>  	int ret;
> 
>  	ret = drm_syncobj_search_fence(syncobj, point, flags, fence);
> -	drm_syncobj_put(syncobj);
> +	if (syncobj)
> +		drm_syncobj_put(syncobj);
>  	return ret;
>  }
>  EXPORT_SYMBOL(drm_syncobj_find_fence);
> --
> 2.19.1



More information about the dri-devel mailing list