Skip to content

Commit

Permalink
netfilter: nft_set_pipapo: merge deactivate helper into caller
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Florian Westphal authored and Pablo Neira Ayuso committed May 6, 2024
1 parent 6c108d9 commit c544478
Showing 1 changed file with 9 additions and 30 deletions.
39 changes: 9 additions & 30 deletions net/netfilter/nft_set_pipapo.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit c544478

Please sign in to comment.