[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3386f37a-55f4-43e0-a991-7cf4ece2e55a@arm.com>
Date: Mon, 4 Nov 2024 09:14:36 +0000
From: Lukasz Luba <lukasz.luba@....com>
To: Jinjie Ruan <ruanjinjie@...wei.com>
Cc: rafael@...nel.org, pavel@....cz, len.brown@...el.com,
linux-pm@...r.kernel.org, daniel.lezcano@...aro.org,
linux-kernel@...r.kernel.org, qperret@...gle.com
Subject: Re: [PATCH] PM: EM: Fix uninitialized power in em_create_perf_table
Hi Jinjie,
On 11/4/24 09:03, Jinjie Ruan wrote:
> In em_create_perf_table(), power is uninitialized and passed the pointer
> to active_power() hook, but the hook function may not assign it and
> return 0, such as mtk_cpufreq_get_cpu_power(), so the later zero check for
Please fix the driver. I have checked that function. It must return
-EINVAL when the 'policy' is not found. We cannot progress with power=0.
> power is not invalid, initialize power to zero to fix it.
>
> Cc: stable@...r.kernel.org
> Fixes: 7d9895c7fbfc ("PM / EM: introduce em_dev_register_perf_domain function")
> Signed-off-by: Jinjie Ruan <ruanjinjie@...wei.com>
> ---
> kernel/power/energy_model.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/power/energy_model.c b/kernel/power/energy_model.c
> index 927cc55ba0b3..866a3e9c05b2 100644
> --- a/kernel/power/energy_model.c
> +++ b/kernel/power/energy_model.c
> @@ -344,7 +344,7 @@ static int em_create_perf_table(struct device *dev, struct em_perf_domain *pd,
> struct em_data_callback *cb,
> unsigned long flags)
> {
> - unsigned long power, freq, prev_freq = 0;
> + unsigned long power = 0, freq, prev_freq = 0;
> int nr_states = pd->nr_perf_states;
> int i, ret;
>
This patch proposal is just a workaround.
When you send a patch to that MTK driver, I can review it for you so
please add me on CC.
Regards,
Lukasz
Powered by blists - more mailing lists