On 3/6/2023 3:57 PM, Gustavo A. R. Silva (gustavoars@kernel.org) wrote: > Zero-length arrays as fake flexible arrays are deprecated and we are > moving towards adopting C99 flexible-array members instead. > > Transform zero-length array into flexible-array member in struct > rxrpc_ackpacket. > > Address the following warnings found with GCC-13 and > -fstrict-flex-arrays=3 enabled: > net/rxrpc/call_event.c:149:38: warning: array subscript i is outside array bounds of ‘uint8_t[0]’ {aka ‘unsigned char[]’} [-Warray-bounds=] > > This helps with the ongoing efforts to tighten the FORTIFY_SOURCE > routines on memcpy() and help us make progress towards globally > enabling -fstrict-flex-arrays=3 [1]. > > Link: https://github.com/KSPP/linux/issues/21 > Link: https://github.com/KSPP/linux/issues/263 > Link: https://gcc.gnu.org/pipermail/gcc-patches/2022-October/602902.html [1] > Signed-off-by: Gustavo A. R. Silva > --- > net/rxrpc/protocol.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/rxrpc/protocol.h b/net/rxrpc/protocol.h > index 6760cb99c6d6..e8ee4af43ca8 100644 > --- a/net/rxrpc/protocol.h > +++ b/net/rxrpc/protocol.h > @@ -126,7 +126,7 @@ struct rxrpc_ackpacket { > uint8_t nAcks; /* number of ACKs */ > #define RXRPC_MAXACKS 255 > > - uint8_t acks[0]; /* list of ACK/NAKs */ > + uint8_t acks[]; /* list of ACK/NAKs */ > #define RXRPC_ACK_TYPE_NACK 0 > #define RXRPC_ACK_TYPE_ACK 1 > Reviewed-by: Jeffrey Altman