[PATCH] net: prestera: replace zero-length array with flexible-array member
Subsystems:
marvell prestera ethernet switch driver , networking drivers , the rest
STALE1765d
LANDED
Landed in mainline as 01081be1ea8c on 2021-12-07.
4 messages,
4 authors,
2021-12-07 · open the first message on its own page
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 <redacted>
---
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
quoted hunk 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 <redacted>
---
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 <redacted>
Tested-by: Volodymyr Mytnyk <redacted>
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 <redacted>
Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Thanks
--
Gustavo
quoted hunk - --
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
Hello:
This patch was applied to netdev/net-next.git (master)
by Jakub Kicinski [off-list ref]:
On Sat, 4 Dec 2021 18:13:49 +0100 you 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.
[...]
Here is the summary with links:
- net: prestera: replace zero-length array with flexible-array member
https://git.kernel.org/netdev/net-next/c/01081be1ea8c
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html