• Rafael J. Wysocki's avatar
    cpufreq: Avoid using inactive policies · 182e36af
    Rafael J. Wysocki authored
    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: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
    182e36af
cpufreq.c 65.7 KB