linux/drivers/scsi/mpt3sas/mpi
Gustavo A. R. Silva a1c4d77413 scsi: mpt3sas: Replace unnecessary dynamic allocation with a static one
Dynamic memory allocation isn't actually needed and it can be replaced by
statically allocating memory for struct object io_unit_pg3 with 36
hardcoded entries for its GPIOVal array.

Also, this helps the with ongoing efforts to enable -Warray-bounds by
fixing the following warning:

drivers/scsi/mpt3sas/mpt3sas_ctl.c: In function ‘BRM_status_show’:
drivers/scsi/mpt3sas/mpt3sas_ctl.c:3257:63: warning: array subscript 24 is above array bounds of ‘U16[1]’ {aka ‘short unsigned int[1]’} [-Warray-bounds]
 3257 |  backup_rail_monitor_status = le16_to_cpu(io_unit_pg3->GPIOVal[24]);
./include/uapi/linux/byteorder/little_endian.h:36:51: note: in definition of macro ‘__le16_to_cpu’
   36 | #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
      |                                                   ^
drivers/scsi/mpt3sas/mpt3sas_ctl.c:3257:31: note: in expansion of macro ‘le16_to_cpu’
 3257 |  backup_rail_monitor_status = le16_to_cpu(io_unit_pg3->GPIOVal[24]);

Link: https://github.com/KSPP/linux/issues/109
Link: https://lore.kernel.org/lkml/202103101058.16ED27BE3@keescook/
Link: https://lore.kernel.org/r/20210310235951.GA108661@embeddedor
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2021-03-17 00:04:40 -04:00
..
mpi2_cnfg.h scsi: mpt3sas: Replace unnecessary dynamic allocation with a static one 2021-03-17 00:04:40 -04:00
mpi2_image.h scsi: mpt3sas: Update MPI Headers to v02.00.57 2020-01-02 22:23:16 -05:00
mpi2_init.h scsi: mpt3sas: Update MPI headers to support Aero controllers 2018-11-06 20:16:01 -05:00
mpi2_ioc.h scsi: mpt3sas: Update MPI Headers to v02.00.57 2020-01-02 22:23:16 -05:00
mpi2_pci.h scsi: mpt3sas: Update MPI headers to 2.6.8 spec 2019-08-07 22:46:19 -04:00
mpi2_raid.h scsi: mpt3sas: Update MPI headers to support Aero controllers 2018-11-06 20:16:01 -05:00
mpi2_sas.h scsi: mpt3sas: Update MPI headers to support Aero controllers 2018-11-06 20:16:01 -05:00
mpi2_tool.h scsi: mpt3sas: Update MPI headers to 2.6.8 spec 2019-08-07 22:46:19 -04:00
mpi2_type.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mpi2.h scsi: mpt3sas: Update MPI Headers to v02.00.57 2020-01-02 22:23:16 -05:00