RE: [PATCH] cpufreq: amd-pstate: fix the memory to free after epp exist

From: Yuan, Perry
Date: Tue May 14 2024 - 00:51:51 EST


[AMD Official Use Only - AMD Internal Distribution Only]

Hi Peng,

> -----Original Message-----
> From: zhida312@xxxxxxxxxxx <zhida312@xxxxxxxxxxx>
> Sent: Tuesday, May 14, 2024 11:17 AM
> To: rafael@xxxxxxxxxx; viresh.kumar@xxxxxxxxxx
> Cc: Peng Ma <andypma@xxxxxxxxxxx>; Huang, Ray <Ray.Huang@xxxxxxx>;
> Shenoy, Gautham Ranjal <gautham.shenoy@xxxxxxx>; Limonciello, Mario
> <Mario.Limonciello@xxxxxxx>; Yuan, Perry <Perry.Yuan@xxxxxxx>; linux-
> pm@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH] cpufreq: amd-pstate: fix the memory to free after epp exist
>
> From: andypma <andypma.tencent.com>
>
> the cpudata memory from kzmalloc in epp init function is not free after epp exist,
> so we should free it.
>
> Signed-off-by: Peng Ma <andypma@xxxxxxxxxxx>
> ---
> drivers/cpufreq/amd-pstate.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c index
> 2db095867d03..96a323f59a93 100644
> --- a/drivers/cpufreq/amd-pstate.c
> +++ b/drivers/cpufreq/amd-pstate.c
> @@ -1425,6 +1425,9 @@ static int amd_pstate_epp_cpu_init(struct
> cpufreq_policy *policy)
>
> static int amd_pstate_epp_cpu_exit(struct cpufreq_policy *policy) {
> + struct amd_cpudata *cpudata = policy->driver_data;
> +
> + kfree(cpudata);
> pr_debug("CPU %d exiting\n", policy->cpu);
> return 0;
> }
> --
> 2.33.0

Thanks for the patch, how about change to be like below?

if (cpudata) {
kfree(cpudata);
policy->driver_data = NULL;
}

Perry.