Commit df8fc4e934c1 ("kbuild: Enable -fstrict-flex-arrays=3") has resulted in the only arrays that UBSAN_BOUNDS considers unbounded being trailing arrays declared with [] as the last member of a struct. Unbounded trailing arrays declared with [1] are common in mpt3sas, which is causing spurious warnings to appear in some situations with UBSAN array bounds checks enabled, e.g. when more than one physical disk is connected: UBSAN: array-index-out-of-bounds in drivers/scsi/mpt3sas/mpt3sas_scsih.c:6810:36 index 1 is out of range for type 'MPI2_SAS_IO_UNIT0_PHY_DATA [1]' which relates to this unbounded array access: port_id = sas_iounit_pg0->PhyData[i].Port; and is just one example of 10 currently occurring for me during boot. This series converts most trailing arrays in mpt3sas into proper C99 flexible array members. Those that really are fixed-length arrays of length >=1 are left alone. I didn't find any conversions that required further source edits besides changing [1] to [], and everything seems to work with my SAS2008-based add-in card, but please look things over in case I missed something subtle. Rounding out the series are some opportunistic cleanups. James Seo (6): scsi: mpt3sas: Use flexible arrays when obviously possible scsi: mpt3sas: Use flexible arrays when less obviously possible scsi: mpt3sas: Use struct_size() for struct size calculations scsi: mpt3sas: Fix an outdated comment scsi: mpt3sas: Fix typo of "TRIGGER" scsi: mpt3sas: Replace a dynamic allocation with a local variable drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h | 231 ++++++------------- drivers/scsi/mpt3sas/mpi/mpi2_image.h | 32 +-- drivers/scsi/mpt3sas/mpi/mpi2_ioc.h | 27 +-- drivers/scsi/mpt3sas/mpt3sas_base.c | 28 +-- drivers/scsi/mpt3sas/mpt3sas_config.c | 6 +- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 18 +- drivers/scsi/mpt3sas/mpt3sas_transport.c | 9 +- drivers/scsi/mpt3sas/mpt3sas_trigger_pages.h | 44 ++-- drivers/scsi/mpt3sas/mpt3sas_warpdrive.c | 3 +- 9 files changed, 135 insertions(+), 263 deletions(-) base-commit: 7e9609d2daea0ebe4add444b26b76479ecfda504 -- 2.39.2