2023-01-10 02:07:25

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH][next] net/mlx5e: Replace zero-length array with flexible-array member

Zero-length arrays are deprecated[1] and we are moving towards
adopting C99 flexible-array members instead. So, replace zero-length
array declaration in struct mlx5e_flow_meter_aso_obj with flex-array
member.

This helps with the ongoing efforts to tighten the FORTIFY_SOURCE
routines on memcpy() and help us make progress towards globally
enabling -fstrict-flex-arrays=3 [2].

Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays [1]
Link: https://gcc.gnu.org/pipermail/gcc-patches/2022-October/602902.html [2]
Link: https://github.com/KSPP/linux/issues/78
Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
drivers/net/ethernet/mellanox/mlx5/core/en/tc/meter.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/meter.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/meter.c
index 78af8a3175bf..7758a425bfa8 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/meter.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/meter.c
@@ -28,7 +28,7 @@ struct mlx5e_flow_meter_aso_obj {
int base_id;
int total_meters;

- unsigned long meters_map[0]; /* must be at the end of this struct */
+ unsigned long meters_map[]; /* must be at the end of this struct */
};

struct mlx5e_flow_meters {
--
2.34.1


2023-01-10 22:20:15

by Saeed Mahameed

[permalink] [raw]
Subject: Re: [PATCH][next] net/mlx5e: Replace zero-length array with flexible-array member

On 09 Jan 19:39, Gustavo A. R. Silva wrote:
>Zero-length arrays are deprecated[1] and we are moving towards
>adopting C99 flexible-array members instead. So, replace zero-length
>array declaration in struct mlx5e_flow_meter_aso_obj with flex-array
>member.
>
>This helps with the ongoing efforts to tighten the FORTIFY_SOURCE
>routines on memcpy() and help us make progress towards globally
>enabling -fstrict-flex-arrays=3 [2].
>
>Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays [1]
>Link: https://gcc.gnu.org/pipermail/gcc-patches/2022-October/602902.html [2]
>Link: https://github.com/KSPP/linux/issues/78
>Signed-off-by: Gustavo A. R. Silva <[email protected]>

Applied to net-next-mlx5, Thanks!