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

Volodymyr Mytnyk <[email protected]>
Newsgroups com.openwall.lists.kernel-hardening,org.kernel.vger.linux-hardening,org.kernel.vger.linux-kernel,org.kernel.vger.netdev
Message-ID <VI1P190MB07344B3C160E9A73165422A28F6B9@VI1P190MB0734.EURP190.PROD.OUTLOOK.COM>
> Subject: [PATCH] net: prestera: replace zero-length array with flexible-array member 
>  
> 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: Jose Exposito <[email protected]>
> ---
>  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

Thanks.

Reviewed-by: Volodymyr Mytnyk <[email protected]>
Tested-by: Volodymyr Mytnyk <[email protected]>
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.