[PATCH] drm/amd/powerplay: Fix double unlock bug in smu_sys_set_pp_table()

Julia Lawall julia.lawall at lip6.fr
Thu Mar 21 08:20:38 UTC 2019



On Thu, 21 Mar 2019, Huang, Ray wrote:

> > -----Original Message-----
> > From: Dan Carpenter [mailto:dan.carpenter at oracle.com]
> > Sent: Thursday, March 21, 2019 2:28 PM
> > To: Deucher, Alexander <Alexander.Deucher at amd.com>; Wang, Kevin(Yang)
> > <Kevin1.Wang at amd.com>
> > Cc: Koenig, Christian <Christian.Koenig at amd.com>; Zhou, David(ChunMing)
> > <David1.Zhou at amd.com>; David Airlie <airlied at linux.ie>; Daniel Vetter
> > <daniel at ffwll.ch>; Huang, Ray <Ray.Huang at amd.com>; Gao, Likun
> > <Likun.Gao at amd.com>; Gui, Jack <Jack.Gui at amd.com>; amd-
> > gfx at lists.freedesktop.org; kernel-janitors at vger.kernel.org
> > Subject: [PATCH] drm/amd/powerplay: Fix double unlock bug in
> > smu_sys_set_pp_table()
> >
> > We already unlocked a few lines earlier so this code unlocks twice on the
> > success path.
> >
> > Fixes: 5809d7420f97 ("drm/amd/powerplay: implement sysfs of pp_table for
> > smu11 (v2)")
> > Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
>
> Nice catch!  Thanks, Dan.
> Kevin, could you please verify this patch.
> Reviewed-by: Huang Rui <ray.huang at amd.com>
>
> > ---
> > I'm not sure what this bug looks like at runtime, but it's slightly weird that no
> > one noticed.  This is from static analysis and I haven't tested it myself.
> >
> >  drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
> > b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
> > index 00b7c885772b..7e8c74da6a74 100644
> > --- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
> > +++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
> > @@ -187,6 +187,8 @@ int smu_sys_set_pp_table(struct smu_context *smu,
> > void *buf, size_t size)
> >  	if (ret)
> >  		pr_info("smu reset failed, ret = %d\n", ret);
> >
> > +	return ret;

Why not return 0?

julia

> > +
> >  failed:
> >  	mutex_unlock(&smu->mutex);
> >  	return ret;
> > --
> > 2.17.1
>
>


More information about the amd-gfx mailing list