[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

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

From: José Expósito <hidden>
Date: 2021-12-04 17:14:30

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

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

From: Volodymyr Mytnyk <hidden>
Date: 2021-12-04 17:38:35

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>

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

From: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Date: 2021-12-06 16:45:32

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

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

From: patchwork-bot+netdevbpf@kernel.org
Date: 2021-12-07 00:40:15

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

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help