summaryrefslogtreecommitdiff
path: root/drivers/scsi/3w-sas.h
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2023-01-05 03:48:01 +0300
committerMartin K. Petersen <martin.petersen@oracle.com>2023-01-12 08:09:52 +0300
commit45b379f20bc0fecccad63c25bfe28d75d6bc5b0d (patch)
treee6a3d4282317ebff7886a362242bd3f91e314eec /drivers/scsi/3w-sas.h
parentdae0bb3e1ab8a67771213f5526deb238b15a736b (diff)
downloadlinux-45b379f20bc0fecccad63c25bfe28d75d6bc5b0d.tar.xz
scsi: 3w-sas: Replace 1-element arrays with flexible array members
One-element arrays (and multi-element arrays being treated as dynamically sized) are deprecated[1] and are being replaced with flexible array members in support of the ongoing efforts to tighten the FORTIFY_SOURCE routines on memcpy(), correctly instrument array indexing with UBSAN_BOUNDS, and to globally enable -fstrict-flex-arrays=3. Replace one-element arrays with flexible-array member in TW_Ioctl_Buf_Apache and TW_Param_Apache, adjusting the explicit sizing calculations at the same time. This results in no differences in binary output. [1] https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays Cc: Adam Radford <aradford@gmail.com> Cc: "James E.J. Bottomley" <jejb@linux.ibm.com> Cc: "Martin K. Petersen" <martin.petersen@oracle.com> Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org> Cc: linux-scsi@vger.kernel.org Signed-off-by: Kees Cook <keescook@chromium.org> Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org> Link: https://lore.kernel.org/r/20230105004757.never.017-kees@kernel.org Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/3w-sas.h')
-rw-r--r--drivers/scsi/3w-sas.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/3w-sas.h b/drivers/scsi/3w-sas.h
index b0508039a280..096dec29e2ac 100644
--- a/drivers/scsi/3w-sas.h
+++ b/drivers/scsi/3w-sas.h
@@ -335,7 +335,7 @@ typedef struct TAG_TW_Ioctl_Apache {
TW_Ioctl_Driver_Command driver_command;
char padding[488];
TW_Command_Full firmware_command;
- char data_buffer[1];
+ char data_buffer[];
} TW_Ioctl_Buf_Apache;
/* GetParam descriptor */
@@ -344,7 +344,7 @@ typedef struct {
unsigned short parameter_id;
unsigned short parameter_size_bytes;
unsigned short actual_parameter_size_bytes;
- unsigned char data[1];
+ unsigned char data[];
} TW_Param_Apache;
/* Compatibility information structure */