RE: [PATCH] drm/amdgpu/powerplay/psm: Fix memory leak in power state init

From: Quan, Evan
Date: Mon Oct 17 2022 - 21:06:59 EST


[AMD Official Use Only - General]

Reviewed-by: Evan Quan <evan.quan@xxxxxxx>

> -----Original Message-----
> From: Rafael Mendonca <rafaelmendsr@xxxxxxxxx>
> Sent: Tuesday, October 18, 2022 8:54 AM
> To: Quan, Evan <Evan.Quan@xxxxxxx>; Deucher, Alexander
> <Alexander.Deucher@xxxxxxx>; Koenig, Christian
> <Christian.Koenig@xxxxxxx>; Pan, Xinhui <Xinhui.Pan@xxxxxxx>; David
> Airlie <airlied@xxxxxxxxx>; Daniel Vetter <daniel@xxxxxxxx>
> Cc: Rafael Mendonca <rafaelmendsr@xxxxxxxxx>; amd-
> gfx@xxxxxxxxxxxxxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx
> 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@xxxxxxxxx>
> ---
> 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