scsi: mpi3mr: Replace 1-element array with flex-array
Nothing else defined MPI3_NVME_ENCAP_CMD_MAX, so the "command" buffer was being defined as a fake flexible array of size 1. Replace this with a proper flex array. Avoids this GCC 13 warning under -fstrict-flex-arrays=3: In function 'fortify_memset_chk', inlined from 'mpi3mr_build_nvme_sgl' at ../drivers/scsi/mpi3mr/mpi3mr_app.c:693:2, inlined from 'mpi3mr_bsg_process_mpt_cmds.constprop' at ../drivers/scsi/mpi3mr/mpi3mr_app.c:1214:8: ../include/linux/fortify-string.h:430:25: warning: call to '__write_overflow_field' declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning] 430 | __write_overflow_field(p_size_field, size); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Link: https://lore.kernel.org/r/20230204183715.never.937-kees@kernel.org Cc: Sumit Saxena <sumit.saxena@broadcom.com> Cc: Himanshu Madhani <himanshu.madhani@oracle.com> Cc: "Martin K. Petersen" <martin.petersen@oracle.com> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Cc: kernel test robot <lkp@intel.com> Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
ee4e7dfe4f
commit
c6f2e6b6ea
@ -455,12 +455,6 @@ struct mpi3mr_bsg_packet {
|
||||
} cmd;
|
||||
};
|
||||
|
||||
|
||||
/* MPI3: NVMe Encasulation related definitions */
|
||||
#ifndef MPI3_NVME_ENCAP_CMD_MAX
|
||||
#define MPI3_NVME_ENCAP_CMD_MAX (1)
|
||||
#endif
|
||||
|
||||
struct mpi3_nvme_encapsulated_request {
|
||||
__le16 host_tag;
|
||||
__u8 ioc_use_only02;
|
||||
@ -474,7 +468,7 @@ struct mpi3_nvme_encapsulated_request {
|
||||
__le16 flags;
|
||||
__le32 data_length;
|
||||
__le32 reserved14[3];
|
||||
__le32 command[MPI3_NVME_ENCAP_CMD_MAX];
|
||||
__le32 command[];
|
||||
};
|
||||
|
||||
struct mpi3_nvme_encapsulated_error_reply {
|
||||
|
Loading…
Reference in New Issue
Block a user