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