Re: [PATCH] thermal: cpu_cooling: fix out of bounds access in time_in_idle

From: Nicolas Boichat
Date: Sun Jan 17 2016 - 21:25:50 EST


On Fri, Jan 15, 2016 at 11:20 PM, Javi Merino <javi.merino@xxxxxxx> wrote:
> Eduardo, Rui,
>
> On Tue, Jan 05, 2016 at 07:19:25PM +0000, Javi Merino wrote:
>> On Mon, Dec 21, 2015 at 08:49:40AM +0530, Viresh Kumar wrote:
>> > On 19-12-15, 12:54, Javi Merino wrote:
>> > > 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@xxxxxxxxxxxx>
>> > > Cc: Amit Daniel Kachhap <amit.kachhap@xxxxxxxxx>
>> > > Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
>> > > Cc: Zhang Rui <rui.zhang@xxxxxxxxx>
>> > > Cc: Eduardo Valentin <edubezval@xxxxxxxxx>
>> > > Signed-off-by: Javi Merino <javi.merino@xxxxxxx>
>> > > ---
>> > > drivers/thermal/cpu_cooling.c | 14 ++++++++------
>> > > 1 file changed, 8 insertions(+), 6 deletions(-)
>> >
>> > Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
>>
>> If there are no more objections, can you pick this up?
>
> Another gentle ping, can this be merged?

Tested-by: Nicolas Boichat <drinkcat@xxxxxxxxxxxx>