[ovs-dev] [PATCH v2 1/2] net: openvswitch: Use struct_size()
Use struct_size() instead of hand writing it. This is less verbose and more robust. Signed-off-by: Christophe JAILLET --- v2: No change v1: https://lore.kernel.org/all/8be59c9e06fca8eff2f264abb4c2f74db0b19a9e.1696156198.git.christophe.jail...@wanadoo.fr/ This is IMHO more readable, even if not perfect. However (untested): + new = kzalloc(size_add(struct_size(new, masks, size), size_mul(sizeof(u64), size)), GFP_KERNEL); looks completely unreadable to me. --- net/openvswitch/flow_table.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/net/openvswitch/flow_table.c b/net/openvswitch/flow_table.c index 4f3b1798e0b2..d108ae0bd0ee 100644 --- a/net/openvswitch/flow_table.c +++ b/net/openvswitch/flow_table.c @@ -220,16 +220,13 @@ static struct mask_array *tbl_mask_array_alloc(int size) struct mask_array *new; size = max(MASK_ARRAY_SIZE_MIN, size); - new = kzalloc(sizeof(struct mask_array) + - sizeof(struct sw_flow_mask *) * size + + new = kzalloc(struct_size(new, masks, size) + sizeof(u64) * size, GFP_KERNEL); if (!new) return NULL; new->masks_usage_zero_cntr = (u64 *)((u8 *)new + -sizeof(struct mask_array) + -sizeof(struct sw_flow_mask *) * -size); +struct_size(new, masks, size)); new->masks_usage_stats = __alloc_percpu(sizeof(struct mask_array_stats) + sizeof(u64) * size, -- 2.34.1 ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH v2 1/2] net: openvswitch: Use struct_size()
On Sat, Oct 14, 2023 at 08:34:52AM +0200, Christophe JAILLET wrote: > Use struct_size() instead of hand writing it. > This is less verbose and more robust. > > Signed-off-by: Christophe JAILLET > --- > v2: No change > > v1: > https://lore.kernel.org/all/8be59c9e06fca8eff2f264abb4c2f74db0b19a9e.1696156198.git.christophe.jail...@wanadoo.fr/ > > > This is IMHO more readable, even if not perfect. > > However (untested): > + new = kzalloc(size_add(struct_size(new, masks, size), > size_mul(sizeof(u64), size)), GFP_KERNEL); > looks completely unreadable to me. Thanks, this looks correct (and more readable) to me. Reviewed-by: Simon Horman ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH v2 1/2] net: openvswitch: Use struct_size()
Hello: This series was applied to netdev/net-next.git (main) by Paolo Abeni : On Sat, 14 Oct 2023 08:34:52 +0200 you wrote: > Use struct_size() instead of hand writing it. > This is less verbose and more robust. > > Signed-off-by: Christophe JAILLET > --- > v2: No change > > [...] Here is the summary with links: - [v2,1/2] net: openvswitch: Use struct_size() https://git.kernel.org/netdev/net-next/c/df3bf90fef28 - [v2,2/2] net: openvswitch: Annotate struct mask_array with __counted_by https://git.kernel.org/netdev/net-next/c/7713ec844756 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev