]> git.baikalelectronics.ru Git - kernel.git/commit
netfilter: conntrack: avoid gcc-10 zero-length-bounds warning
authorArnd Bergmann <arnd@arndb.de>
Thu, 30 Apr 2020 21:30:48 +0000 (23:30 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Sun, 10 May 2020 21:20:24 +0000 (23:20 +0200)
commit89c365785ff040e7fbbd284ffd18f12231c40de0
treeab5b13c9420dc16b4a724fbd81448bbde95ddfe6
parenta06e72a069d9c18c7e2fa3b461d02a6b2cec9d4c
netfilter: conntrack: avoid gcc-10 zero-length-bounds warning

gcc-10 warns around a suspicious access to an empty struct member:

net/netfilter/nf_conntrack_core.c: In function '__nf_conntrack_alloc':
net/netfilter/nf_conntrack_core.c:1522:9: warning: array subscript 0 is outside the bounds of an interior zero-length array 'u8[0]' {aka 'unsigned char[0]'} [-Wzero-length-bounds]
 1522 |  memset(&ct->__nfct_init_offset[0], 0,
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from net/netfilter/nf_conntrack_core.c:37:
include/net/netfilter/nf_conntrack.h:90:5: note: while referencing '__nfct_init_offset'
   90 |  u8 __nfct_init_offset[0];
      |     ^~~~~~~~~~~~~~~~~~

The code is correct but a bit unusual. Rework it slightly in a way that
does not trigger the warning, using an empty struct instead of an empty
array. There are probably more elegant ways to do this, but this is the
smallest change.

Fixes: 0679283c5888 ("netfilter: conntrack: avoid zeroing timer")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/net/netfilter/nf_conntrack.h
net/netfilter/nf_conntrack_core.c