OSDN Git Service

netfilter: nft_set_pipapo: Use struct_size()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Fri, 5 May 2023 21:26:34 +0000 (23:26 +0200)
committerFlorian Westphal <fw@strlen.de>
Thu, 18 May 2023 06:48:55 +0000 (08:48 +0200)
Use struct_size() instead of hand writing it.
This is less verbose and more informative.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
net/netfilter/nft_set_pipapo.c

index 06d46d1..34c684e 100644 (file)
@@ -1274,8 +1274,7 @@ static struct nft_pipapo_match *pipapo_clone(struct nft_pipapo_match *old)
        struct nft_pipapo_match *new;
        int i;
 
-       new = kmalloc(sizeof(*new) + sizeof(*dst) * old->field_count,
-                     GFP_KERNEL);
+       new = kmalloc(struct_size(new, f, old->field_count), GFP_KERNEL);
        if (!new)
                return ERR_PTR(-ENOMEM);
 
@@ -2059,8 +2058,7 @@ static int nft_pipapo_init(const struct nft_set *set,
        if (field_count > NFT_PIPAPO_MAX_FIELDS)
                return -EINVAL;
 
-       m = kmalloc(sizeof(*priv->match) + sizeof(*f) * field_count,
-                   GFP_KERNEL);
+       m = kmalloc(struct_size(m, f, field_count), GFP_KERNEL);
        if (!m)
                return -ENOMEM;