[PATCH] scsi: ipr: Replace 1-element arrays with flexible arrays

Kees Cook posted 1 patch 1 year, 5 months ago
drivers/scsi/ipr.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] scsi: ipr: Replace 1-element arrays with flexible arrays
Posted by Kees Cook 1 year, 5 months ago
Replace the deprecated[1] use of a 1-element arrays in
struct ipr_hostrcb_fabric_desc and struct ipr_hostrcb64_fabric_desc
with modern flexible arrays.

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: Brian King <brking@us.ibm.com>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: linux-scsi@vger.kernel.org
---
 drivers/scsi/ipr.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h
index c77d6ca1a210..b2b643c6dbbe 100644
--- a/drivers/scsi/ipr.h
+++ b/drivers/scsi/ipr.h
@@ -1030,7 +1030,7 @@ struct ipr_hostrcb_fabric_desc {
 #define IPR_PATH_FAILED			0x03
 
 	__be16 num_entries;
-	struct ipr_hostrcb_config_element elem[1];
+	struct ipr_hostrcb_config_element elem[];
 }__attribute__((packed, aligned (4)));
 
 struct ipr_hostrcb64_fabric_desc {
@@ -1044,7 +1044,7 @@ struct ipr_hostrcb64_fabric_desc {
 	u8 res_path[8];
 	u8 reserved3[6];
 	__be16 num_entries;
-	struct ipr_hostrcb64_config_element elem[1];
+	struct ipr_hostrcb64_config_element elem[];
 }__attribute__((packed, aligned (8)));
 
 #define for_each_hrrq(hrrq, ioa_cfg) \
-- 
2.34.1
Re: [PATCH] scsi: ipr: Replace 1-element arrays with flexible arrays
Posted by Martin K. Petersen 1 year, 4 months ago
On Thu, 11 Jul 2024 11:07:06 -0700, Kees Cook wrote:

> Replace the deprecated[1] use of a 1-element arrays in
> struct ipr_hostrcb_fabric_desc and struct ipr_hostrcb64_fabric_desc
> with modern flexible arrays.
> 
> No binary differences are present after this conversion.
> 
> 
> [...]

Applied to 6.12/scsi-queue, thanks!

[1/1] scsi: ipr: Replace 1-element arrays with flexible arrays
      https://git.kernel.org/mkp/scsi/c/c72e13cf820b

-- 
Martin K. Petersen	Oracle Linux Engineering
Re: [PATCH] scsi: ipr: Replace 1-element arrays with flexible arrays
Posted by Martin K. Petersen 1 year, 4 months ago
Kees,

> Replace the deprecated[1] use of a 1-element arrays in struct
> ipr_hostrcb_fabric_desc and struct ipr_hostrcb64_fabric_desc with
> modern flexible arrays.

Applied to 6.12/scsi-staging, thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering
Re: [PATCH] scsi: ipr: Replace 1-element arrays with flexible arrays
Posted by Gustavo A. R. Silva 1 year, 5 months ago

On 11/07/24 12:07, Kees Cook wrote:
> Replace the deprecated[1] use of a 1-element arrays in
> struct ipr_hostrcb_fabric_desc and struct ipr_hostrcb64_fabric_desc
> with modern flexible arrays.
> 
> 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>

Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>

Thanks
-- 
Gustavo

> ---
> Cc: Brian King <brking@us.ibm.com>
> Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
> Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
> Cc: linux-scsi@vger.kernel.org
> ---
>   drivers/scsi/ipr.h | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h
> index c77d6ca1a210..b2b643c6dbbe 100644
> --- a/drivers/scsi/ipr.h
> +++ b/drivers/scsi/ipr.h
> @@ -1030,7 +1030,7 @@ struct ipr_hostrcb_fabric_desc {
>   #define IPR_PATH_FAILED			0x03
>   
>   	__be16 num_entries;
> -	struct ipr_hostrcb_config_element elem[1];
> +	struct ipr_hostrcb_config_element elem[];
>   }__attribute__((packed, aligned (4)));
>   
>   struct ipr_hostrcb64_fabric_desc {
> @@ -1044,7 +1044,7 @@ struct ipr_hostrcb64_fabric_desc {
>   	u8 res_path[8];
>   	u8 reserved3[6];
>   	__be16 num_entries;
> -	struct ipr_hostrcb64_config_element elem[1];
> +	struct ipr_hostrcb64_config_element elem[];
>   }__attribute__((packed, aligned (8)));
>   
>   #define for_each_hrrq(hrrq, ioa_cfg) \