Re: [PATCH v2] cpufreq: Avoid using inactive policies
From: Viresh Kumar
Date: Sun Nov 20 2016 - 22:37:41 EST
On 18-11-16, 13:40, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
>
> There are two places in the cpufreq core in which low-level driver
> callbacks may be invoked for an inactive cpufreq policy, which isn't
> guaranteed to work in general. Both are due to possible races with
> CPU offline.
>
> First, in cpufreq_get(), the policy may become inactive after
> the check against policy->cpus in cpufreq_cpu_get() and before
> policy->rwsem is acquired, in which case using it going forward may
> not be correct.
>
> Second, an analogous situation is possible in cpufreq_update_policy().
>
> Avoid using inactive policies by adding policy_is_inactive() checks
> to the code in the above places.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> ---
>
> -> v2:
> Initialize ret in cpufreq_update_policy() if the inactive policy check
> doesn't pass.
Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
--
viresh