Re: [PATCH][next] treewide: Replace zero-length arrays with flexible-array members

Leon Romanovsky
2022-02-15T19:21:18Z

On Tue, Feb 15, 2022 at 01:21:10PM -0600, Gustavo A. R. Silva wrote:
> On Tue, Feb 15, 2022 at 10:17:40AM -0800, Kees Cook wrote:
> > On Tue, Feb 15, 2022 at 11:47:43AM -0600, Gustavo A. R. Silva wrote:
> > > There is a regular need in the kernel to provide a way to declare
> > > having a dynamically sized set of trailing elements in a structure.
> > > Kernel code should always use “flexible array members”[1] for these
> > > cases. The older style of one-element or zero-length arrays should
> > > no longer be used[2].
> > >
> > > This code was transformed with the help of Coccinelle:
> > > (next-20220214$ spatch --jobs $(getconf _NPROCESSORS_ONLN) --sp-file script.cocci --include-headers --dir . > output.patch)
> > >
> > > @@
> > > identifier S, member, array;
> > > type T1, T2;
> > > @@
> > >
> > > struct S {
> > > ...
> > > T1 member;
> > > T2 array[
> > > - 0
> > > ];
> > > };
> >
> > These all look trivially correct to me. Only two didn't have the end of
> > the struct visible in the patch, and checking those showed them to be
> > trailing members as well, so:
> >
> > Reviewed-by: Kees Cook <keescook@chromium.org>
>
> I'll add this to my -next tree.

I would like to ask you to send mlx5 patch separately to netdev. We are working
to delete that file completely and prefer to avoid from unnecessary merge conflicts.

Thanks

>
> Thanks!
> --
> Gustavo