Re: [PATCH] mtd: sa1100: avoid VLA in sa1100_setup_mtd

From: Boris Brezillon
Date: Fri Oct 12 2018 - 05:23:38 EST


On Fri, 12 Oct 2018 11:19:52 +0200
Arnd Bergmann <arnd@xxxxxxxx> wrote:

> On Fri, Oct 12, 2018 at 11:16 AM Boris Brezillon
> <boris.brezillon@xxxxxxxxxxx> wrote:
> >
> > Hi Arnd,
> >
> > On Wed, 10 Oct 2018 20:44:50 +0200
> > Arnd Bergmann <arnd@xxxxxxxx> wrote:
> >
> > > Enabling -Wvla found another variable-length array with randconfig
> > > testing:
> > >
> > > drivers/mtd/maps/sa1100-flash.c: In function 'sa1100_setup_mtd':
> > > drivers/mtd/maps/sa1100-flash.c:224:10: error: ISO C90 forbids variable length array 'cdev' [-Werror=vla]
> > >
> > > As far as I can tell, there is an upper bound on the number of resources
> > > that can be passed, based on the number of CS lines on the bus.
> > > In practice, all boards we support have either one or two resources,
> > > but using six to be on the safe side has no extra cost.
> >
> > Why not dynamically allocate cdev instead? That removes any kind of
> > guessing on the max value, and it shouldn't hurt much since this code is
> > in the probe path.
>
> Fine with me as well, If you prefer that one, please just add
> Reported-by: Arnd Bergmann <arnd@xxxxxxxx>

Oh, I thought I'd let you send a v2, but I can do it if you prefer.