All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kees Cook <kees@kernel.org>
To: Sathya Prakash <sathya.prakash@broadcom.com>
Cc: Kees Cook <kees@kernel.org>,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	MPT-FusionLinux.pdl@broadcom.com, linux-scsi@vger.kernel.org,
	linux-hardening@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 2/6] scsi: message: fusion: struct _CONFIG_PAGE_SAS_IO_UNIT_0: Replace 1-element array with flexible array
Date: Thu, 11 Jul 2024 10:28:16 -0700	[thread overview]
Message-ID: <20240711172821.123936-2-kees@kernel.org> (raw)
In-Reply-To: <20240711172432.work.523-kees@kernel.org>

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: https://github.com/KSPP/linux/issues/79 [1]
Signed-off-by: Kees Cook <kees@kernel.org>
---
Cc: Sathya Prakash <sathya.prakash@broadcom.com>
Cc: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
Cc: Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>
Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Cc: MPT-FusionLinux.pdl@broadcom.com
Cc: linux-scsi@vger.kernel.org
Cc: linux-hardening@vger.kernel.org
---
 drivers/message/fusion/lsi/mpi_cnfg.h | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/message/fusion/lsi/mpi_cnfg.h b/drivers/message/fusion/lsi/mpi_cnfg.h
index f59a741ef21c..c7997e32e82e 100644
--- a/drivers/message/fusion/lsi/mpi_cnfg.h
+++ b/drivers/message/fusion/lsi/mpi_cnfg.h
@@ -2547,14 +2547,6 @@ typedef struct _MPI_SAS_IO_UNIT0_PHY_DATA
 } MPI_SAS_IO_UNIT0_PHY_DATA, MPI_POINTER PTR_MPI_SAS_IO_UNIT0_PHY_DATA,
   SasIOUnit0PhyData, MPI_POINTER pSasIOUnit0PhyData;
 
-/*
- * Host code (drivers, BIOS, utilities, etc.) should leave this define set to
- * one and check Header.PageLength at runtime.
- */
-#ifndef MPI_SAS_IOUNIT0_PHY_MAX
-#define MPI_SAS_IOUNIT0_PHY_MAX         (1)
-#endif
-
 typedef struct _CONFIG_PAGE_SAS_IO_UNIT_0
 {
     CONFIG_EXTENDED_PAGE_HEADER     Header;                             /* 00h */
@@ -2563,7 +2555,7 @@ typedef struct _CONFIG_PAGE_SAS_IO_UNIT_0
     U8                              NumPhys;                            /* 0Ch */
     U8                              Reserved2;                          /* 0Dh */
     U16                             Reserved3;                          /* 0Eh */
-    MPI_SAS_IO_UNIT0_PHY_DATA       PhyData[MPI_SAS_IOUNIT0_PHY_MAX];   /* 10h */
+    MPI_SAS_IO_UNIT0_PHY_DATA       PhyData[] __counted_by(NumPhys);    /* 10h */
 } CONFIG_PAGE_SAS_IO_UNIT_0, MPI_POINTER PTR_CONFIG_PAGE_SAS_IO_UNIT_0,
   SasIOUnitPage0_t, MPI_POINTER pSasIOUnitPage0_t;
 
-- 
2.34.1


  parent reply	other threads:[~2024-07-11 17:28 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-11 17:28 [PATCH 0/6] scsi: message: fusion: Replace 1-element arrays with flexible arrays Kees Cook
2024-07-11 17:28 ` [PATCH 1/6] scsi: message: fusion: struct _RAID_VOL0_SETTINGS: Replace 1-element array with flexible array Kees Cook
2024-07-11 18:12   ` Gustavo A. R. Silva
2024-07-11 17:28 ` Kees Cook [this message]
2024-07-11 18:14   ` [PATCH 2/6] scsi: message: fusion: struct _CONFIG_PAGE_SAS_IO_UNIT_0: " Gustavo A. R. Silva
2024-07-11 17:28 ` [PATCH 3/6] scsi: message: fusion: struct _CONFIG_PAGE_RAID_PHYS_DISK_1: " Kees Cook
2024-07-11 18:16   ` Gustavo A. R. Silva
2024-07-11 17:28 ` [PATCH 4/6] scsi: message: fusion: struct _CONFIG_PAGE_IOC_2: " Kees Cook
2024-07-11 18:17   ` Gustavo A. R. Silva
2024-07-11 17:28 ` [PATCH 5/6] scsi: message: fusion: struct _CONFIG_PAGE_IOC_3: " Kees Cook
2024-07-11 18:18   ` Gustavo A. R. Silva
2024-07-11 17:28 ` [PATCH 6/6] scsi: message: fusion: struct _CONFIG_PAGE_IOC_4: " Kees Cook
2024-07-11 18:19   ` Gustavo A. R. Silva
2024-08-03  1:33 ` [PATCH 0/6] scsi: message: fusion: Replace 1-element arrays with flexible arrays Martin K. Petersen
2024-08-05 21:17 ` Martin K. Petersen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240711172821.123936-2-kees@kernel.org \
    --to=kees@kernel.org \
    --cc=MPT-FusionLinux.pdl@broadcom.com \
    --cc=gustavoars@kernel.org \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=sathya.prakash@broadcom.com \
    --cc=sreekanth.reddy@broadcom.com \
    --cc=suganath-prabu.subramani@broadcom.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.