On Sun, Jul 30, 2023 at 06:29:41PM -0700, Atul Raut wrote: > Because zero-length arrays are obsolete, replacing them with > C99 flexible-array members. > Instead of defining a zero-length array, use the new > DECLARE_FLEX_ARRAY() auxiliary macro. > > This fixes warnings such as: > ./drivers/net/wireless/ath/ath6kl/usb.c:109:8-12: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays) > > Signed-off-by: Atul Raut <rauji.raut@xxxxxxxxx> > --- > drivers/net/wireless/ath/ath6kl/usb.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/wireless/ath/ath6kl/usb.c b/drivers/net/wireless/ath/ath6kl/usb.c > index 5220809841a6..bb3771a3897c 100644 > --- a/drivers/net/wireless/ath/ath6kl/usb.c > +++ b/drivers/net/wireless/ath/ath6kl/usb.c > @@ -106,7 +106,7 @@ struct ath6kl_usb_ctrl_diag_cmd_write { > __le32 cmd; > __le32 address; > __le32 value; > - __le32 _pad[1]; > + DECLARE_FLEX_ARRAY(__le32, _pad); This is not a 0 length array, or a variable array. Look at the work done on the hardening mailing list for more details, I think this is wrong. good luck! greg k-h