Johannes Berg <johannes@xxxxxxxxxxxxxxxx> writes: > From: Johannes Berg <johannes.berg@xxxxxxxxx> > > The firmware has a 512 limit here, but we use less, so gcc > starts complaining about it: > > drivers/net/wireless/marvell/libertas/cfg.c:1198:63: warning: array subscript ‘struct cmd_ds_802_11_associate_response[0]’ is partly outside array bounds of ‘unsigned char[203]’ [-Warray-bounds] > 1198 | "aid 0x%04x\n", status, le16_to_cpu(resp->statuscode), > | ^~ > > Since we size the command and response buffer per our needs > and not per the firmware maximum, change to a variable size > data array and put the 512 only into a comment. > > In the end, that's actually what the code always wanted, and > it simplifies the code that used to subtract the fixed size > buffer size in two places. > > Reported-by: Jakub Kicinski <kuba@xxxxxxxxxx> > Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Can we now remove the no-array-bounds hack from libertas? +# FIXME: temporarily silence -Warray-bounds on non W=1+ builds +ifndef KBUILD_EXTRA_WARN +CFLAGS_cfg.o += -Wno-array-bounds +endif -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches