Commit 0c2a85ed authored by Pablo Neira Ayuso's avatar Pablo Neira Ayuso

netfilter: nf_tables: pass context to nft_set_destroy()

The patch that adds support for stateful expressions in set definitions
require this.
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent c604cc69
...@@ -4126,7 +4126,7 @@ static int nf_tables_newset(struct net *net, struct sock *nlsk, ...@@ -4126,7 +4126,7 @@ static int nf_tables_newset(struct net *net, struct sock *nlsk,
return err; return err;
} }
static void nft_set_destroy(struct nft_set *set) static void nft_set_destroy(const struct nft_ctx *ctx, struct nft_set *set)
{ {
if (WARN_ON(set->use > 0)) if (WARN_ON(set->use > 0))
return; return;
...@@ -4271,7 +4271,7 @@ EXPORT_SYMBOL_GPL(nf_tables_deactivate_set); ...@@ -4271,7 +4271,7 @@ EXPORT_SYMBOL_GPL(nf_tables_deactivate_set);
void nf_tables_destroy_set(const struct nft_ctx *ctx, struct nft_set *set) void nf_tables_destroy_set(const struct nft_ctx *ctx, struct nft_set *set)
{ {
if (list_empty(&set->bindings) && nft_set_is_anonymous(set)) if (list_empty(&set->bindings) && nft_set_is_anonymous(set))
nft_set_destroy(set); nft_set_destroy(ctx, set);
} }
EXPORT_SYMBOL_GPL(nf_tables_destroy_set); EXPORT_SYMBOL_GPL(nf_tables_destroy_set);
...@@ -7020,7 +7020,7 @@ static void nft_commit_release(struct nft_trans *trans) ...@@ -7020,7 +7020,7 @@ static void nft_commit_release(struct nft_trans *trans)
nf_tables_rule_destroy(&trans->ctx, nft_trans_rule(trans)); nf_tables_rule_destroy(&trans->ctx, nft_trans_rule(trans));
break; break;
case NFT_MSG_DELSET: case NFT_MSG_DELSET:
nft_set_destroy(nft_trans_set(trans)); nft_set_destroy(&trans->ctx, nft_trans_set(trans));
break; break;
case NFT_MSG_DELSETELEM: case NFT_MSG_DELSETELEM:
nf_tables_set_elem_destroy(&trans->ctx, nf_tables_set_elem_destroy(&trans->ctx,
...@@ -7451,7 +7451,7 @@ static void nf_tables_abort_release(struct nft_trans *trans) ...@@ -7451,7 +7451,7 @@ static void nf_tables_abort_release(struct nft_trans *trans)
nf_tables_rule_destroy(&trans->ctx, nft_trans_rule(trans)); nf_tables_rule_destroy(&trans->ctx, nft_trans_rule(trans));
break; break;
case NFT_MSG_NEWSET: case NFT_MSG_NEWSET:
nft_set_destroy(nft_trans_set(trans)); nft_set_destroy(&trans->ctx, nft_trans_set(trans));
break; break;
case NFT_MSG_NEWSETELEM: case NFT_MSG_NEWSETELEM:
nft_set_elem_destroy(nft_trans_elem_set(trans), nft_set_elem_destroy(nft_trans_elem_set(trans),
...@@ -8177,7 +8177,7 @@ static void __nft_release_tables(struct net *net) ...@@ -8177,7 +8177,7 @@ static void __nft_release_tables(struct net *net)
list_for_each_entry_safe(set, ns, &table->sets, list) { list_for_each_entry_safe(set, ns, &table->sets, list) {
list_del(&set->list); list_del(&set->list);
table->use--; table->use--;
nft_set_destroy(set); nft_set_destroy(&ctx, set);
} }
list_for_each_entry_safe(obj, ne, &table->objects, list) { list_for_each_entry_safe(obj, ne, &table->objects, list) {
nft_obj_del(obj); nft_obj_del(obj);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment