linux/drivers/scsi/mpt3sas
James Seo dccc1e3ed9 scsi: mpt3sas: Make MPI2_CONFIG_PAGE_SASIOUNIT_0::PhyData[] a flexible array
This terminal 1-length variable array can be directly converted into a C99
flexible array member.

As all users of MPI2_CONFIG_PAGE_SASIOUNIT_0 (Mpi2SasIOUnitPage0_t) either
calculate its size without depending on its sizeof() or do not use
PhyData[], no further source changes are required:

 - mpt3sas_config.c:mpt3sas_config_get_number_hba_phys() fetches a
   Mpi2SasIOUnitPage0_t for itself, but does not use PhyData[].

 - mpt3sas_config.c:mpt3sas_config_get_sas_iounit_pg0() fetches a
   Mpi2SasIOUnitPage0_t into a caller-provided buffer, and may fetch and
   write PhyData[] into that buffer depending on its sz argument.  Its
   callers:

   - mpt3sas_scsih.c:_scsih_update_vphys_after_reset(),
     mpt3sas_scsih.c:_scsih_get_port_table_after_reset(),
     mpt3sas_scsih.c:_scsih_sas_host_refresh(),
     mpt3sas_scsih.c:_scsih_sas_host_add(), and
     mpt3sas_transport.c:_transport_phy_enable() all calculate sz
     independently of sizeof(Mpi2SasIOUnitPage0_t) and allocate a
     suitable buffer before calling mpt3sas_config_get_sas_iounit_pg0()
     and using PhyData[].

Signed-off-by: James Seo <james@equiv.tech>
Link: https://lore.kernel.org/r/20230806170604.16143-5-james@equiv.tech
Tested-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2023-11-15 08:52:02 -05:00
..
mpi scsi: mpt3sas: Make MPI2_CONFIG_PAGE_SASIOUNIT_0::PhyData[] a flexible array 2023-11-15 08:52:02 -05:00
Kconfig scsi: mpt3sas: Fix spelling mistake in Kconfig "compatiblity" -> "compatibility" 2021-01-05 23:25:07 -05:00
Makefile scsi: mpt3sas: Capture IOC data for debugging purposes 2020-05-07 22:24:27 -04:00
mpt3sas_base.c scsi: mpt3sas: Fix loop logic 2023-10-24 22:35:22 -04:00
mpt3sas_base.h scsi: mpt3sas: Remove volatile qualifier 2023-08-30 21:39:06 -04:00
mpt3sas_config.c scsi: mpt3sas: Add support for ATTO ExpressSAS H12xx GT devices 2022-08-31 23:39:57 -04:00
mpt3sas_ctl.c scsi: mpt3sas: Demote log level for trace buffer allocation to info 2023-01-18 18:39:15 -05:00
mpt3sas_ctl.h scsi: mpt3sas: Fix out-of-bounds warnings in _ctl_addnl_diag_query 2021-04-13 00:31:05 -04:00
mpt3sas_debug.h
mpt3sas_debugfs.c scsi: mpt3sas: Remove unused including <linux/version.h> 2020-05-11 23:09:21 -04:00
mpt3sas_scsih.c scsi: mpt3sas: Fix in error path 2023-10-16 21:04:54 -04:00
mpt3sas_transport.c scsi: mpt3sas: Fix NULL pointer access in mpt3sas_transport_port_add() 2023-03-07 21:02:09 -05:00
mpt3sas_trigger_diag.c scsi: mpt3sas: Additional diagnostic buffer query interface 2021-02-08 22:02:07 -05:00
mpt3sas_trigger_diag.h scsi: mpt3sas: Fix spelling mistake 2020-06-15 23:28:46 -04:00
mpt3sas_trigger_pages.h scsi: mpt3sas: Add persistent trigger pages support 2020-12-09 11:34:18 -05:00
mpt3sas_warpdrive.c