[PATCH] drm/amdgpu/powerplay/psm: Fix memory leak in power state init
Alex Deucher
alexdeucher at gmail.com
Tue Oct 18 15:59:09 UTC 2022
Applied. Thanks!
Alex
On Mon, Oct 17, 2022 at 9:07 PM Quan, Evan <Evan.Quan at amd.com> wrote:
>
> [AMD Official Use Only - General]
>
> Reviewed-by: Evan Quan <evan.quan at amd.com>
>
> > -----Original Message-----
> > From: Rafael Mendonca <rafaelmendsr at gmail.com>
> > Sent: Tuesday, October 18, 2022 8:54 AM
> > To: Quan, Evan <Evan.Quan at amd.com>; Deucher, Alexander
> > <Alexander.Deucher at amd.com>; Koenig, Christian
> > <Christian.Koenig at amd.com>; Pan, Xinhui <Xinhui.Pan at amd.com>; David
> > Airlie <airlied at gmail.com>; Daniel Vetter <daniel at ffwll.ch>
> > Cc: Rafael Mendonca <rafaelmendsr at gmail.com>; amd-
> > gfx at lists.freedesktop.org; dri-devel at lists.freedesktop.org; linux-
> > kernel at vger.kernel.org
> > Subject: [PATCH] drm/amdgpu/powerplay/psm: Fix memory leak in power
> > state init
> >
> > Commit 902bc65de0b3 ("drm/amdgpu/powerplay/psm: return an error in
> > power state init") made the power state init function return early in case of
> > failure to get an entry from the powerplay table, but it missed to clean up the
> > allocated memory for the current power state before returning.
> >
> > Fixes: 902bc65de0b3 ("drm/amdgpu/powerplay/psm: return an error in
> > power state init")
> > Signed-off-by: Rafael Mendonca <rafaelmendsr at gmail.com>
> > ---
> > drivers/gpu/drm/amd/pm/powerplay/hwmgr/pp_psm.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pp_psm.c
> > b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pp_psm.c
> > index 67d7da0b6fed..1d829402cd2e 100644
> > --- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pp_psm.c
> > +++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pp_psm.c
> > @@ -75,8 +75,10 @@ int psm_init_power_state_table(struct pp_hwmgr
> > *hwmgr)
> > for (i = 0; i < table_entries; i++) {
> > result = hwmgr->hwmgr_func->get_pp_table_entry(hwmgr,
> > i, state);
> > if (result) {
> > + kfree(hwmgr->current_ps);
> > kfree(hwmgr->request_ps);
> > kfree(hwmgr->ps);
> > + hwmgr->current_ps = NULL;
> > hwmgr->request_ps = NULL;
> > hwmgr->ps = NULL;
> > return -EINVAL;
> > --
> > 2.34.1
More information about the dri-devel
mailing list