Re: [PATCH] thermal: Check the policy first in cpufreq_cooling_register

From: Viresh Kumar
Date: Tue Aug 30 2022 - 01:34:26 EST


On 25-08-22, 19:40, Xuewen Yan wrote:
> Since the policy needs to be accessed first when obtaining cpu devices,
> first check whether the policy is legal before this.
>
> Signed-off-by: Xuewen Yan <xuewen.yan@xxxxxxxxxx>

Fixes: 5130802ddbb1 ("thermal: cpu_cooling: Switch to QoS requests for freq limits")

> ---
> drivers/thermal/cpufreq_cooling.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/thermal/cpufreq_cooling.c b/drivers/thermal/cpufreq_cooling.c
> index b76293cc989c..7838b6e2dba5 100644
> --- a/drivers/thermal/cpufreq_cooling.c
> +++ b/drivers/thermal/cpufreq_cooling.c
> @@ -501,17 +501,17 @@ __cpufreq_cooling_register(struct device_node *np,
> struct thermal_cooling_device_ops *cooling_ops;
> char *name;
>
> + if (IS_ERR_OR_NULL(policy)) {
> + pr_err("%s: cpufreq policy isn't valid: %p\n", __func__, policy);
> + return ERR_PTR(-EINVAL);
> + }
> +
> dev = get_cpu_device(policy->cpu);
> if (unlikely(!dev)) {
> pr_warn("No cpu device for cpu %d\n", policy->cpu);
> return ERR_PTR(-ENODEV);
> }
>
> - if (IS_ERR_OR_NULL(policy)) {
> - pr_err("%s: cpufreq policy isn't valid: %p\n", __func__, policy);
> - return ERR_PTR(-EINVAL);
> - }
> -
> i = cpufreq_table_count_valid_entries(policy);
> if (!i) {
> pr_debug("%s: CPUFreq table not found or has no valid entries\n",

Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>

--
viresh