Skip to content

Commit 14c1f88

Browse files
keesmartinkpetersen
authored andcommitted
scsi: message: fusion: struct _CONFIG_PAGE_SAS_IO_UNIT_0: Replace 1-element array with flexible array
Replace the deprecated[1] use of a 1-element array in struct _CONFIG_PAGE_SAS_IO_UNIT_0 with a modern flexible array. Additionally add __counted_by annotation since PhyData is only ever accessed via a loops bounded by NumPhys: lsi/mpi_cnfg.h: MPI_SAS_IO_UNIT0_PHY_DATA PhyData[] __counted_by(NumPhys); /* 10h */ mptsas.c: port_info->num_phys = buffer->NumPhys; mptsas.c: for (i = 0; i < port_info->num_phys; i++) { mptsas.c: mptsas_print_phy_data(ioc, &buffer->PhyData[i]); mptsas.c: port_info->phy_info[i].phy_id = i; mptsas.c: port_info->phy_info[i].port_id = mptsas.c: buffer->PhyData[i].Port; mptsas.c: port_info->phy_info[i].negotiated_link_rate = mptsas.c: buffer->PhyData[i].NegotiatedLinkRate; No binary differences are present after this conversion. Link: KSPP#79 [1] Signed-off-by: Kees Cook <kees@kernel.org> Link: https://lore.kernel.org/r/20240711172821.123936-2-kees@kernel.org Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1 parent 8e76c9c commit 14c1f88

1 file changed

Lines changed: 1 addition & 9 deletions

File tree

drivers/message/fusion/lsi/mpi_cnfg.h

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2547,14 +2547,6 @@ typedef struct _MPI_SAS_IO_UNIT0_PHY_DATA
25472547
} MPI_SAS_IO_UNIT0_PHY_DATA, MPI_POINTER PTR_MPI_SAS_IO_UNIT0_PHY_DATA,
25482548
SasIOUnit0PhyData, MPI_POINTER pSasIOUnit0PhyData;
25492549

2550-
/*
2551-
* Host code (drivers, BIOS, utilities, etc.) should leave this define set to
2552-
* one and check Header.PageLength at runtime.
2553-
*/
2554-
#ifndef MPI_SAS_IOUNIT0_PHY_MAX
2555-
#define MPI_SAS_IOUNIT0_PHY_MAX (1)
2556-
#endif
2557-
25582550
typedef struct _CONFIG_PAGE_SAS_IO_UNIT_0
25592551
{
25602552
CONFIG_EXTENDED_PAGE_HEADER Header; /* 00h */
@@ -2563,7 +2555,7 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_0
25632555
U8 NumPhys; /* 0Ch */
25642556
U8 Reserved2; /* 0Dh */
25652557
U16 Reserved3; /* 0Eh */
2566-
MPI_SAS_IO_UNIT0_PHY_DATA PhyData[MPI_SAS_IOUNIT0_PHY_MAX]; /* 10h */
2558+
MPI_SAS_IO_UNIT0_PHY_DATA PhyData[] __counted_by(NumPhys); /* 10h */
25672559
} CONFIG_PAGE_SAS_IO_UNIT_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_0,
25682560
SasIOUnitPage0_t, MPI_POINTER pSasIOUnitPage0_t;
25692561

0 commit comments

Comments
 (0)