On 3/6/2026 3:57 AM, Gautham R. Shenoy wrote:
> On failure to set the epp, the function amd_pstate_epp_cpu_init()
> returns with an error code without freeing the cpudata object that was
> allocated at the beginning of the function.
>
> Ensure that the cpudata object is freed before returning from the
> function.
>
> This memory leak was discovered by Claude Opus 4.6 with the aid of
> Chris Mason's AI review-prompts
> (https://github.com/masoncl/review-prompts/tree/main/kernel).
>
> Assisted-by: Claude:claude-opus-4.6 review-prompts/linux
> Fixes: f9a378ff6443 ("cpufreq/amd-pstate: Set different default EPP policy for Epyc and Ryzen")
> Signed-off-by: Gautham R. Shenoy <gautham.shenoy@amd.com>
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
> ---
> drivers/cpufreq/amd-pstate.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
> index 5aa9fcd80cf51..d57969c72c9dc 100644
> --- a/drivers/cpufreq/amd-pstate.c
> +++ b/drivers/cpufreq/amd-pstate.c
> @@ -1533,7 +1533,7 @@ static int amd_pstate_epp_cpu_init(struct cpufreq_policy *policy)
>
> ret = amd_pstate_set_epp(policy, cpudata->epp_default);
> if (ret)
> - return ret;
> + goto free_cpudata1;
>
> current_pstate_driver->adjust_perf = NULL;
>