summaryrefslogtreecommitdiff
path: root/drivers/cpufreq
diff options
context:
space:
mode:
authorPeng Ma <andypma@tencent.com>2024-05-16 14:30:42 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-06-27 13:49:05 +0200
commit448efb7ea0bfa2c4e27c5a2eb5684fd225cd12cd (patch)
tree4bfaf6636cfd29a0dbba054835e9c15f47100446 /drivers/cpufreq
parent618fbf4c910a06a3aa6a8b88a5fb1f2197f964f3 (diff)
downloadlinux-448efb7ea0bfa2c4e27c5a2eb5684fd225cd12cd.tar.gz
linux-448efb7ea0bfa2c4e27c5a2eb5684fd225cd12cd.tar.bz2
linux-448efb7ea0bfa2c4e27c5a2eb5684fd225cd12cd.zip
cpufreq: amd-pstate: fix memory leak on CPU EPP exit
[ Upstream commit cea04f3d9aeebda9d9c063c0dfa71e739c322c81 ] The cpudata memory from kzalloc() in amd_pstate_epp_cpu_init() is not freed in the analogous exit function, so fix that. Signed-off-by: Peng Ma <andypma@tencent.com> Acked-by: Mario Limonciello <mario.limonciello@amd.com> Reviewed-by: Perry Yuan <Perry.Yuan@amd.com> [ rjw: Subject and changelog edits ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r--drivers/cpufreq/amd-pstate.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
index b8fdfd2c4f6f..a5f4c255edad 100644
--- a/drivers/cpufreq/amd-pstate.c
+++ b/drivers/cpufreq/amd-pstate.c
@@ -1216,6 +1216,13 @@ free_cpudata1:
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;
}