diff mbox series

cpufreq: amd-pstate: fix the memory to free after epp exist

Message ID PUZPR01MB51206E9B32294882EC34B09592E32@PUZPR01MB5120.apcprd01.prod.exchangelabs.com (mailing list archive)
State Superseded, archived
Headers show
Series cpufreq: amd-pstate: fix the memory to free after epp exist | expand

Commit Message

mazhida May 14, 2024, 3:17 a.m. UTC
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@tencent.com>
---
 drivers/cpufreq/amd-pstate.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Yuan, Perry May 14, 2024, 4:51 a.m. UTC | #1
[AMD Official Use Only - AMD Internal Distribution Only]

 Hi Peng,

> -----Original Message-----
> From: zhida312@outlook.com <zhida312@outlook.com>
> Sent: Tuesday, May 14, 2024 11:17 AM
> To: rafael@kernel.org; viresh.kumar@linaro.org
> Cc: Peng Ma <andypma@tencent.com>; Huang, Ray <Ray.Huang@amd.com>;
> Shenoy, Gautham Ranjal <gautham.shenoy@amd.com>; Limonciello, Mario
> <Mario.Limonciello@amd.com>; Yuan, Perry <Perry.Yuan@amd.com>; linux-
> pm@vger.kernel.org; linux-kernel@vger.kernel.org
> 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@tencent.com>
> ---
>  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.
mazhida May 14, 2024, 6:27 a.m. UTC | #2
Hi Perry,

	Yes,Of course.

BR,
Peng

> 2024年5月14日 12:51,Yuan, Perry <Perry.Yuan@amd.com> 写道:
> 
> [AMD Official Use Only - AMD Internal Distribution Only]
> 
> Hi Peng,
> 
>> -----Original Message-----
>> From: zhida312@outlook.com <zhida312@outlook.com>
>> Sent: Tuesday, May 14, 2024 11:17 AM
>> To: rafael@kernel.org; viresh.kumar@linaro.org
>> Cc: Peng Ma <andypma@tencent.com>; Huang, Ray <Ray.Huang@amd.com>;
>> Shenoy, Gautham Ranjal <gautham.shenoy@amd.com>; Limonciello, Mario
>> <Mario.Limonciello@amd.com>; Yuan, Perry <Perry.Yuan@amd.com>; linux-
>> pm@vger.kernel.org; linux-kernel@vger.kernel.org
>> 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@tencent.com>
>> ---
>> 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.
>
diff mbox series

Patch

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;
 }