Re: [PATCH 2/9] input: goodix: fix variable length array warning

From: Antonio Ospite
Date: Wed Jun 03 2015 - 16:50:16 EST


On Wed, 3 Jun 2015 10:26:47 +0000
"Tirdea, Irina" <irina.tirdea@xxxxxxxxx> wrote:

> > -----Original Message-----
> > From: Antonio Ospite [mailto:ao2@xxxxxx]
> > Sent: 28 May, 2015 18:58
> > To: Tirdea, Irina
> > Cc: Dmitry Torokhov; Bastien Nocera; linux-input@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> > Subject: Re: [PATCH 2/9] input: goodix: fix variable length array warning
> >
> > On Thu, 28 May 2015 15:47:38 +0300
> > Irina Tirdea <irina.tirdea@xxxxxxxxx> wrote:
> >
> > > Fix sparse warning:
> > > drivers/input/touchscreen/goodix.c:182:26: warning:
> > > Variable length array is used.
> > >
> > > Replace the variable length array with fixed length.
> > >
> > > Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx>
> > > ---
> > > drivers/input/touchscreen/goodix.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c
> > > index c2e785c..dac1b3c 100644
> > > --- a/drivers/input/touchscreen/goodix.c
> > > +++ b/drivers/input/touchscreen/goodix.c
> > > @@ -147,7 +147,7 @@ static void goodix_ts_report_touch(struct goodix_ts_data *ts, u8 *coor_data)
> > > */
> > > static void goodix_process_events(struct goodix_ts_data *ts)
> > > {
> > > - u8 point_data[1 + GOODIX_CONTACT_SIZE * ts->max_touch_num];
> > > + u8 point_data[1 + GOODIX_CONTACT_SIZE * GOODIX_MAX_CONTACTS];
> >
> > Hi,
> >
>
> Hi Antonio,
>
> > this fixes the warning from sparse, but also changes the semantics of
> > the code: ts->max_touch_num is less that GOODIX_MAX_CONTACTS for 5
> > touches devices and in this case we'll end up using more memory than is
> > necessary.
> >
>
> I wasn't sure if it is better to save the 5 bytes or fix the warning,
> so I sent this to get some more input.
> Thanks for the feedback, I will drop this patch.
>

Use kmalloc() or, alternatively, add at least a comment telling why you
think that sacrificing a few bytes âonly for some devicesâ has
advantages over dynamic allocation.

I am not necessarily against the static allocation change, I was just
pointing out the issue.

Thanks,
Antonio

--
Antonio Ospite
http://ao2.it

A: Because it messes up the order in which people normally read text.
See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/