Re: [PATCH] net: prestera: replace zero-length array with flexible-array member

"Gustavo A. R. Silva" <[email protected]>
Newsgroups com.openwall.lists.kernel-hardening,org.kernel.vger.linux-hardening,org.kernel.vger.linux-kernel,org.kernel.vger.netdev
Message-ID <20211206165050.GA48639@embeddedor>
On Sat, Dec 04, 2021 at 06:13:49PM +0100, José Expósito wrote:
> One-element and zero-length arrays are deprecated and should be
> replaced with flexible-array members:
> https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays
> 
> Replace zero-length array with flexible-array member and make use
> of the struct_size() helper.
> 
> Link: https://github.com/KSPP/linux/issues/78
> Signed-off-by: José Expósito <[email protected]>

Reviewed-by: Gustavo A. R. Silva <[email protected]>

Thanks
--
Gustavo

> ---
>  drivers/net/ethernet/marvell/prestera/prestera_hw.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/marvell/prestera/prestera_hw.c b/drivers/net/ethernet/marvell/prestera/prestera_hw.c
> index 92cb5e9099c6..6282c9822e2b 100644
> --- a/drivers/net/ethernet/marvell/prestera/prestera_hw.c
> +++ b/drivers/net/ethernet/marvell/prestera/prestera_hw.c
> @@ -443,7 +443,7 @@ struct prestera_msg_counter_resp {
>  	__le32 offset;
>  	__le32 num_counters;
>  	__le32 done;
> -	struct prestera_msg_counter_stats stats[0];
> +	struct prestera_msg_counter_stats stats[];
>  };
>  
>  struct prestera_msg_span_req {
> @@ -1900,7 +1900,7 @@ int prestera_hw_counters_get(struct prestera_switch *sw, u32 idx,
>  		.block_id = __cpu_to_le32(idx),
>  		.num_counters = __cpu_to_le32(*len),
>  	};
> -	size_t size = sizeof(*resp) + sizeof(*resp->stats) * (*len);
> +	size_t size = struct_size(resp, stats, *len);
>  	int err, i;
>  
>  	resp = kmalloc(size, GFP_KERNEL);
> -- 
> 2.25.1
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.