Commit 16364f45 authored by Peng Ma's avatar Peng Ma Committed by Jinjie Ruan
Browse files

cpufreq: amd-pstate: fix memory leak on CPU EPP exit

stable inclusion
from stable-v6.6.36
commit 448efb7ea0bfa2c4e27c5a2eb5684fd225cd12cd
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IACQP5
CVE: CVE-2024-40997

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=448efb7ea0bfa2c4e27c5a2eb5684fd225cd12cd



--------------------------------

[ 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: default avatarPeng Ma <andypma@tencent.com>
Acked-by: default avatarMario Limonciello <mario.limonciello@amd.com>
Reviewed-by: default avatarPerry Yuan <Perry.Yuan@amd.com>
[ rjw: Subject and changelog edits ]
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarJinjie Ruan <ruanjinjie@huawei.com>
parent 9cf1dcdc
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1216,6 +1216,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;
}