* [PATCH] scsi: mpi3mr: Replace 1-element array with flex-array
@ 2023-02-04 18:37 Kees Cook
2023-02-22 0:47 ` Martin K. Petersen
0 siblings, 1 reply; 2+ messages in thread
From: Kees Cook @ 2023-02-04 18:37 UTC (permalink / raw)
To: Sumit Saxena
Cc: Kees Cook, Himanshu Madhani, Martin K. Petersen, Stephen Rothwell,
kernel test robot, linux-kernel, linux-hardening
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);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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>
---
include/uapi/scsi/scsi_bsg_mpi3mr.h | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/include/uapi/scsi/scsi_bsg_mpi3mr.h b/include/uapi/scsi/scsi_bsg_mpi3mr.h
index fdc3517f9e19..907d345f04f9 100644
--- a/include/uapi/scsi/scsi_bsg_mpi3mr.h
+++ b/include/uapi/scsi/scsi_bsg_mpi3mr.h
@@ -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 {
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] scsi: mpi3mr: Replace 1-element array with flex-array
2023-02-04 18:37 [PATCH] scsi: mpi3mr: Replace 1-element array with flex-array Kees Cook
@ 2023-02-22 0:47 ` Martin K. Petersen
0 siblings, 0 replies; 2+ messages in thread
From: Martin K. Petersen @ 2023-02-22 0:47 UTC (permalink / raw)
To: Kees Cook
Cc: Sumit Saxena, Himanshu Madhani, Martin K. Petersen,
Stephen Rothwell, kernel test robot, linux-kernel,
linux-hardening
Kees,
> 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:
Applied to 6.3/scsi-staging, thanks!
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-02-22 0:48 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-04 18:37 [PATCH] scsi: mpi3mr: Replace 1-element array with flex-array Kees Cook
2023-02-22 0:47 ` Martin K. Petersen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox