[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5e63e836-5611-4198-9d83-d289f727bcce@wanadoo.fr>
Date: Fri, 5 Sep 2025 18:47:28 +0200
From: Christophe JAILLET <christophe.jaillet@...adoo.fr>
To: Pedro Demarchi Gomes <pedrodemargomes@...il.com>,
martin.petersen@...cle.com, James.Bottomley@...senPartnership.com
Cc: linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] scsi: mpi3mr: Replace one-element arrays with
flexible-array members
Le 05/09/2025 à 03:43, Pedro Demarchi Gomes a écrit :
> One-element arrays are deprecated, and we are replacing them with flexible
> array members instead. So, replace one-element arrays with flexible-array
> members in multiple structures.
>
> Signed-off-by: Pedro Demarchi Gomes <pedrodemargomes@...il.com>
> ---
> include/uapi/scsi/scsi_bsg_mpi3mr.h | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/include/uapi/scsi/scsi_bsg_mpi3mr.h b/include/uapi/scsi/scsi_bsg_mpi3mr.h
> index f5ea1db92339..9e5b6ced53ab 100644
> --- a/include/uapi/scsi/scsi_bsg_mpi3mr.h
> +++ b/include/uapi/scsi/scsi_bsg_mpi3mr.h
> @@ -205,7 +205,7 @@ struct mpi3mr_all_tgt_info {
> __u16 num_devices;
> __u16 rsvd1;
> __u32 rsvd2;
> - struct mpi3mr_device_map_info dmi[1];
> + struct mpi3mr_device_map_info dmi[];
> };
>
> /**
> @@ -248,7 +248,7 @@ struct mpi3mr_logdata_entry {
> __u8 valid_entry;
> __u8 rsvd1;
> __u16 rsvd2;
> - __u8 data[1]; /* Variable length Array */
> + __u8 data[]; /* Variable length Array */
> };
>
> /**
> @@ -259,7 +259,7 @@ struct mpi3mr_logdata_entry {
> * @entry: Variable length Log data entry array
> */
> struct mpi3mr_bsg_in_log_data {
> - struct mpi3mr_logdata_entry entry[1];
> + __DECLARE_FLEX_ARRAY(struct mpi3mr_logdata_entry, entry);
> };
>
> /**
> @@ -307,7 +307,7 @@ struct mpi3mr_bsg_in_hdb_status {
> __u8 element_trigger_format;
> __u16 rsvd2;
> __u32 rsvd3;
> - struct mpi3mr_hdb_entry entry[1];
> + struct mpi3mr_hdb_entry entry[];
I think that the -1 at [1] should be removed, and struct_size() used
instead.
The same kind of issue is maybe also relevant for the other changes, but
I've not spotted such places myself.
CJ
[1]:
https://elixir.bootlin.com/linux/v6.17-rc4/source/drivers/scsi/mpi3mr/mpi3mr_app.c#L1245
> };
>
> /**
> @@ -416,7 +416,7 @@ struct mpi3mr_buf_entry_list {
> __u8 rsvd1;
> __u16 rsvd2;
> __u32 rsvd3;
> - struct mpi3mr_buf_entry buf_entry[1];
> + struct mpi3mr_buf_entry buf_entry[];
> };
> /**
> * struct mpi3mr_bsg_mptcmd - Generic bsg data
Powered by blists - more mailing lists