Subject: Re: [PATCH v3] ethtool: Replace 0-length array with flexible array

From: Kees Cook <[email-masked]>
Date: Thu, 5 Jan 2023 22:25:31 -0800

On Fri, Jan 06, 2023 at 02:47:35PM +0900, Vincent MAILHOL wrote:
> On Fri. 6 Jan 2023 at 13:28, Kees Cook <[email-masked]> wrote:
> > Zero-length arrays are deprecated[1]. Replace struct ethtool_rxnfc's
> > "rule_locs" 0-length array with a flexible array. Detected with GCC 13,
> > using -fstrict-flex-arrays=3:
> >
> > net/ethtool/common.c: In function 'ethtool_get_max_rxnfc_channel':
> > net/ethtool/common.c:558:55: warning: array subscript i is outside array bounds of '__u32[0]' {aka 'unsigned int[]'} [-Warray-bounds=]
> >   558 |                         .fs.location = info->rule_locs[i],
> >       |                                        ~~~~~~~~~~~~~~~^~~
> > In file included from include/linux/ethtool.h:19,
> >                  from include/uapi/linux/ethtool_netlink.h:12,
> >                  from include/linux/ethtool_netlink.h:6,
> >                  from net/ethtool/common.c:3:
> > include/uapi/linux/ethtool.h:1186:41: note: while referencing
> > 'rule_locs'
> >  1186 |         __u32                           rule_locs[0];
> >       |                                         ^~~~~~~~~
> >
> > [1] https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays
> >
> > Cc: "David S. Miller" <[email-masked]>
> > Cc: Jakub Kicinski <[email-masked]>
> > Cc: Andrew Lunn <[email-masked]>
> > Cc: kernel test robot <[email-masked]>
> > Cc: Oleksij Rempel <[email-masked]>
> > Cc: Sean Anderson <[email-masked]>
> > Cc: Alexandru Tachici <[email-masked]>
> > Cc: Amit Cohen <[email-masked]>
> > Cc: "Gustavo A. R. Silva" <[email-masked]>
> > Cc: Vincent Mailhol <[email-masked]>
> > Cc: [email-masked]
> > Signed-off-by: Kees Cook <[email-masked]>
> > ---
> > v3: don't use helper (vincent)
> 
> v1: https://lore.kernel.org/all/[email-masked]
>                                                ^^^^^
> > v2: https://lore.kernel.org/lkml/[email-masked]
>                                                   ^^^^^
> v3: https://lore.kernel.org/netdev/[email-masked]
>                                                   ^^^^
> 
> Seriously... :)

Hurray! Someone noticed and it's not even April yet. :) *celebrate*

-Kees

-- 
Kees Cook