Message ID | 20211204171349.22776-1-jose.exposito89@gmail.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | 01081be1ea8cc123c96256ff0c975643cd862609 |
Delegated to: | Gustavo A. R. Silva |
Headers | show |
Series | net: prestera: replace zero-length array with flexible-array member | expand |
> 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 <jose.exposito89@gmail.com> > --- > 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 <vmytnyk@marvell.com> Tested-by: Volodymyr Mytnyk <vmytnyk@marvell.com>
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 <jose.exposito89@gmail.com> Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org> 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 >
Hello: This patch was applied to netdev/net-next.git (master) by Jakub Kicinski <kuba@kernel.org>: 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!
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);
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 <jose.exposito89@gmail.com> --- drivers/net/ethernet/marvell/prestera/prestera_hw.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)