Re: [PATCH] fsnotify: avoid gcc-10 zero-length-bounds warning

From: Arnd Bergmann
Date: Tue May 05 2020 - 11:00:36 EST


On Tue, May 5, 2020 at 4:35 PM Gustavo A. R. Silva
<gustavo@xxxxxxxxxxxxxx> wrote:
> On 5/5/20 09:30, Arnd Bergmann wrote:
> > gcc-10 warns about accesses into the f_handle[] zero-length array.
> >
> > fs/notify/fdinfo.c: In function 'show_mark_fhandle':
> > fs/notify/fdinfo.c:66:47: error: array subscript 'i' is outside the bounds of an interior zero-length array 'unsigned char[0]' [-Werror=zero-length-bounds]
> > 66 | seq_printf(m, "%02x", (int)f.handle.f_handle[i]);
> > | ~~~~~~~~~~~~~~~~~^~~
> > In file included from fs/notify/fdinfo.c:3:
> > include/linux/fs.h:988:16: note: while referencing 'f_handle'
> > 988 | unsigned char f_handle[0];
> > | ^~~~~~~~
> >
> > This is solved by using a flexible array instead.
> >
> > Cc: Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx>
> > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> > ---
> > Gustavo has done the same thing as part of a treewide change, but keeping
> > this separate lets us backport it to stable kernels more easily later.
>
> Arnd,
>
> I wonder why would we need to backport these changes to -stable... merely
> because of the use of a new version of GCC?

Yes, we usually backport trivial warning fixes to stable kernels to allow
building those with any modern compiler version.

Arnd