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

Quan, Evan Evan.Quan at amd.com
Tue Oct 18 01:06:51 UTC 2022


[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