diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2023-10-14 08:34:52 +0200 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2023-10-17 13:56:03 +0200 |
commit | df3bf90fef281c630ef06a3d03efb9fe56c8a0fb (patch) | |
tree | c2b5ae2106b37b40dee2f3b511bb0978a357e127 | |
parent | 53c6b86cd084c777175b66012d33b519c81d7b0b (diff) | |
download | lwn-df3bf90fef281c630ef06a3d03efb9fe56c8a0fb.tar.gz lwn-df3bf90fef281c630ef06a3d03efb9fe56c8a0fb.zip |
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 <christophe.jaillet@wanadoo.fr>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/e5122b4ff878cbf3ed72653a395ad5c4da04dc1e.1697264974.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
-rw-r--r-- | net/openvswitch/flow_table.c | 7 |
1 files 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, |