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

From: Daniel Vetter
Date: Tue Nov 06 2018 - 05:31:04 EST


On Tue, Nov 06, 2018 at 09:10:55AM +0000, Koenig, Christian wrote:
> Acked-by: Christian König <christian.koenig@xxxxxxx>
>
> Should I push it to drm-misc-next?

Yeah.

This should have broken an igt somewhere ... would be good to double check
whether that's true and why it wasn't caught. From a quick look i915
doesn't use this interface (it uses drm_syncobj_find, which isn't broken
like this), only amdgpu and v3d use this.

I guess an in-kernel unit test for these driver interfaces is what we need
here.
-Daniel

>
> Christian.
>
> Am 06.11.18 um 03:18 schrieb Zhou, David(ChunMing):
> > Reviewed-by: Chunming Zhou <david1.zhou@xxxxxxx>
> >
> >> -----Original Message-----
> >> From: Eric Anholt <eric@xxxxxxxxxx>
> >> Sent: Tuesday, November 06, 2018 7:01 AM
> >> To: dri-devel@xxxxxxxxxxxxxxxxxxxxx
> >> Cc: linux-kernel@xxxxxxxxxxxxxxx; Eric Anholt <eric@xxxxxxxxxx>; Zhou,
> >> David(ChunMing) <David1.Zhou@xxxxxxx>; Koenig, Christian
> >> <Christian.Koenig@xxxxxxx>
> >> 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@xxxxxxxxxx>
> >> Fixes: 48197bc564c7 ("drm: add syncobj timeline support v9")
> >> Cc: Chunming Zhou <david1.zhou@xxxxxxx>
> >> Cc: Christian König <christian.koenig@xxxxxxx>
> >> ---
> >> 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
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch