netfilter: nft_set_pipapo: merge deactivate helper into caller
authorFlorian Westphal <fw@strlen.de>
Thu, 25 Apr 2024 12:06:44 +0000 (14:06 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 6 May 2024 14:29:22 +0000 (16:29 +0200)
Its the only remaining call site so there is no need for this to
be separated anymore.

Signed-off-by: Florian Westphal <fw@strlen.de>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nft_set_pipapo.c

index 543d6cf01de61c1eb191cbdff68af7faa79327de..7c11f568069cecef68d53163a2daf8d9a98a4683 100644 (file)
@@ -1851,52 +1851,31 @@ static void nft_pipapo_activate(const struct net *net,
 }
 
 /**
- * pipapo_deactivate() - Check that element is in set, mark as inactive
+ * nft_pipapo_deactivate() - Search for element and make it inactive
  * @net:       Network namespace
  * @set:       nftables API set representation
- * @data:      Input key data
- * @ext:       nftables API extension pointer, used to check for end element
- *
- * This is a convenience function that can be called from both
- * nft_pipapo_deactivate() and nft_pipapo_flush(), as they are in fact the same
- * operation.
+ * @elem:      nftables API element representation containing key data
  *
  * Return: deactivated element if found, NULL otherwise.
  */
-static void *pipapo_deactivate(const struct net *net, const struct nft_set *set,
-                              const u8 *data, const struct nft_set_ext *ext)
+static struct nft_elem_priv *
+nft_pipapo_deactivate(const struct net *net, const struct nft_set *set,
+                     const struct nft_set_elem *elem)
 {
        struct nft_pipapo_elem *e;
 
-       e = pipapo_get(net, set, data, nft_genmask_next(net),
-                      nft_net_tstamp(net), GFP_KERNEL);
+       e = pipapo_get(net, set, (const u8 *)elem->key.val.data,
+                      nft_genmask_next(net), nft_net_tstamp(net), GFP_KERNEL);
        if (IS_ERR(e))
                return NULL;
 
        nft_set_elem_change_active(net, set, &e->ext);
 
-       return e;
-}
-
-/**
- * nft_pipapo_deactivate() - Call pipapo_deactivate() to make element inactive
- * @net:       Network namespace
- * @set:       nftables API set representation
- * @elem:      nftables API element representation containing key data
- *
- * Return: deactivated element if found, NULL otherwise.
- */
-static struct nft_elem_priv *
-nft_pipapo_deactivate(const struct net *net, const struct nft_set *set,
-                     const struct nft_set_elem *elem)
-{
-       const struct nft_set_ext *ext = nft_set_elem_ext(set, elem->priv);
-
-       return pipapo_deactivate(net, set, (const u8 *)elem->key.val.data, ext);
+       return &e->priv;
 }
 
 /**
- * nft_pipapo_flush() - Call pipapo_deactivate() to make element inactive
+ * nft_pipapo_flush() - make element inactive
  * @net:       Network namespace
  * @set:       nftables API set representation
  * @elem_priv: nftables API element representation containing key data