Re: [PATCH] ARM: vexpress/spc: Avoid negative array index when !SMP

From: Liviu Dudau
Date: Fri Apr 01 2022 - 06:33:05 EST


On Fri, Apr 01, 2022 at 11:11:47AM +0100, Sudeep Holla wrote:
> On Fri, Apr 01, 2022 at 10:28:29AM +0100, Liviu Dudau wrote:
> > On Thu, Mar 31, 2022 at 12:04:43PM -0700, Kees Cook wrote:
> > > When building multi_v7_defconfig+CONFIG_SMP=n, -Warray-bounds exposes
> > > a couple negative array index accesses:
> > >
> > > arch/arm/mach-vexpress/spc.c: In function 've_spc_clk_init':
> > > arch/arm/mach-vexpress/spc.c:583:21: warning: array subscript -1 is below array bounds of 'bool[2]' {aka '_Bool[2]'} [-Warray-bounds]
> > > 583 | if (init_opp_table[cluster])
> > > | ~~~~~~~~~~~~~~^~~~~~~~~
> > > arch/arm/mach-vexpress/spc.c:556:7: note: while referencing 'init_opp_table'
> > > 556 | bool init_opp_table[MAX_CLUSTERS] = { false };
> > > | ^~~~~~~~~~~~~~
> > > arch/arm/mach-vexpress/spc.c:592:18: warning: array subscript -1 is below array bounds of 'bool[2]' {aka '_Bool[2]'} [-Warray-bounds]
> > > 592 | init_opp_table[cluster] = true;
> > > | ~~~~~~~~~~~~~~^~~~~~~~~
> > > arch/arm/mach-vexpress/spc.c:556:7: note: while referencing 'init_opp_table'
> > > 556 | bool init_opp_table[MAX_CLUSTERS] = { false };
> > > | ^~~~~~~~~~~~~~
> > >
> > > Skip this logic when built !SMP.
> > >
> > > Cc: Liviu Dudau <liviu.dudau@xxxxxxx>
> > > Cc: Sudeep Holla <sudeep.holla@xxxxxxx>
> > > Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
> > > Cc: Russell King <linux@xxxxxxxxxxxxxxx>
> > > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> > > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
> >
> > Acked-by: Liviu Dudau <liviu.dudau@xxxxxxx>
> >
> > Sudeep, can you please take this through your tree for sending it to arm-soc?
> >
>
> Sure, I will do that as soon as -rc1 is out.

Cheers, much appreciated!

Best regards,
Liviu

>
> --
> Regards,
> Sudeep

--
====================
| I would like to |
| fix the world, |
| but they're not |
| giving me the |
\ source code! /
---------------
¯\_(ツ)_/¯