diff options
author | Javi Merino <javi.merino@arm.com> | 2016-02-11 12:00:51 (GMT) |
---|---|---|
committer | Eduardo Valentin <edubezval@gmail.com> | 2016-02-11 15:13:29 (GMT) |
commit | a53b8394ec3c67255928df6ee9cc99dd1cd452e3 (patch) | |
tree | 3eaafabc5e9d5644b57b477ef9eb40aafcbf8448 /drivers/cpuidle/Kconfig.arm | |
parent | 26716ce124fce88f288f07738ef685d5dfe5c13f (diff) | |
download | linux-a53b8394ec3c67255928df6ee9cc99dd1cd452e3.tar.xz |
thermal: cpu_cooling: fix out of bounds access in time_in_idle
In __cpufreq_cooling_register() we allocate the arrays for time_in_idle
and time_in_idle_timestamp to be as big as the number of cpus in this
cpufreq device. However, in get_load() we access this array using the
cpu number as index, which can result in an out of bound access.
Index time_in_idle{,_timestamp} using the index in the cpufreq_device's
allowed_cpus mask, as we do for the load_cpu array in
cpufreq_get_requested_power()
Reported-by: Nicolas Boichat <drinkcat@chromium.org>
Cc: Amit Daniel Kachhap <amit.kachhap@gmail.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Tested-by: Nicolas Boichat <drinkcat@chromium.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Javi Merino <javi.merino@arm.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Diffstat (limited to 'drivers/cpuidle/Kconfig.arm')
0 files changed, 0 insertions, 0 deletions