Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

scsi: aacraid: Avoid -Warray-bounds warning

The one-element array in aac_aifcmd is actually meant as a flexible array,
and causes an overflow warning that can be avoided using the normal flex
arrays:

drivers/scsi/aacraid/commsup.c:1166:17: error: array index 1 is past the end of the array (that has type 'u8[1]' (aka 'unsigned char[1]'), cast to '__le32 *' (aka 'unsigned int *')) [-Werror,-Warray-bounds]
(((__le32 *)aifcmd->data)[1] == cpu_to_le32(3));
^ ~

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20230703114851.1194510-1-arnd@kernel.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

authored by

Arnd Bergmann and committed by
Martin K. Petersen
47699a2b 89f7ef7f

+1 -1
+1 -1
drivers/scsi/aacraid/aacraid.h
··· 2617 2617 struct aac_aifcmd { 2618 2618 __le32 command; /* Tell host what type of notify this is */ 2619 2619 __le32 seqnum; /* To allow ordering of reports (if necessary) */ 2620 - u8 data[1]; /* Undefined length (from kernel viewpoint) */ 2620 + u8 data[]; /* Undefined length (from kernel viewpoint) */ 2621 2621 }; 2622 2622 2623 2623 /**