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: andypma <[email protected]>
Changes since v1:
check whether it is empty before releasing.
set driver_data is NULL after free.
---
drivers/cpufreq/amd-pstate.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
index 6a342b0c0140..e100c5b6c9b2 100644
--- a/drivers/cpufreq/amd-pstate.c
+++ b/drivers/cpufreq/amd-pstate.c
@@ -1441,6 +1441,13 @@ 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;
+
+ if(cpudata) {
+ kfree(cpudata);
+ policy->driver_data = NULL;
+ }
+
pr_debug("CPU %d exiting\n", policy->cpu);
return 0;
}
--
2.33.0
[AMD Official Use Only - AMD Internal Distribution Only]
> -----Original Message-----
> From: [email protected] <[email protected]>
> Sent: Tuesday, May 14, 2024 2:43 PM
> To: [email protected]; [email protected]
> Cc: andypma <[email protected]>; Huang, Ray
> <[email protected]>; Shenoy, Gautham Ranjal
> <[email protected]>; Limonciello, Mario
> <[email protected]>; Yuan, Perry <[email protected]>; linux-
> [email protected]; [email protected]
> Subject: [v2] 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: andypma <[email protected]>
Looks like you need to fix the format of the `Signed-off-by` line in your commit, you need to ensure that it follows the correct format of including your full name and email address. Here's how you can fix it:
Signed-off-by: Your Full Name <[email protected]>
So maybe you want to change like this.
Signed-off-by: Andy Pma <[email protected]>
Perry.
>
> Changes since v1:
> check whether it is empty before releasing.
> set driver_data is NULL after free.
> ---
> drivers/cpufreq/amd-pstate.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
> index 6a342b0c0140..e100c5b6c9b2 100644
> --- a/drivers/cpufreq/amd-pstate.c
> +++ b/drivers/cpufreq/amd-pstate.c
> @@ -1441,6 +1441,13 @@ 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;
> +
> + if(cpudata) {
> + kfree(cpudata);
> + policy->driver_data = NULL;
> + }
> +
> pr_debug("CPU %d exiting\n", policy->cpu);
> return 0;
> }
> --
> 2.33.0
On 5/14/2024 3:24 AM, Yuan, Perry wrote:
> [AMD Official Use Only - AMD Internal Distribution Only]
>
>> -----Original Message-----
>> From: [email protected] <[email protected]>
>> Sent: Tuesday, May 14, 2024 2:43 PM
>> To: [email protected]; [email protected]
>> Cc: andypma <[email protected]>; Huang, Ray
>> <[email protected]>; Shenoy, Gautham Ranjal
>> <[email protected]>; Limonciello, Mario
>> <[email protected]>; Yuan, Perry <[email protected]>; linux-
>> [email protected]; [email protected]
>> Subject: [v2] 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: andypma <[email protected]>
>
> Looks like you need to fix the format of the `Signed-off-by` line in your commit, you need to ensure that it follows the correct format of including your full name and email address. Here's how you can fix it:
>
> Signed-off-by: Your Full Name <[email protected]>
>
> So maybe you want to change like this.
> Signed-off-by: Andy Pma <[email protected]>
>
> Perry.
>
>>
>> Changes since v1:
>> check whether it is empty before releasing.
>> set driver_data is NULL after free.
>> ---
>> drivers/cpufreq/amd-pstate.c | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
>> index 6a342b0c0140..e100c5b6c9b2 100644
>> --- a/drivers/cpufreq/amd-pstate.c
>> +++ b/drivers/cpufreq/amd-pstate.c
>> @@ -1441,6 +1441,13 @@ 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;
>> +
>> + if(cpudata) {
You want a space after the if
But isn't it safe to call kfree(cpudata) even if cpudata was already NULL?
>> + kfree(cpudata);
>> + policy->driver_data = NULL;
>> + }
>> +
>> pr_debug("CPU %d exiting\n", policy->cpu);
>> return 0;
>> }
>> --
>> 2.33.0
>