diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2023-07-19 20:19:43 +0200 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2023-07-20 17:02:45 +0200 |
commit | 751d460ccff3137212f47d876221534bf0490996 (patch) | |
tree | 7ea3c335209bc4e33182122b6f97152e7697af93 | |
parent | 87b5a5c209405cb6b57424cdfa226a6dbd349232 (diff) | |
download | lwn-751d460ccff3137212f47d876221534bf0490996.tar.gz lwn-751d460ccff3137212f47d876221534bf0490996.zip |
netfilter: nf_tables: skip bound chain in netns release path
Skip bound chain from netns release path, the rule that owns this chain
releases these objects.
Fixes: d0e2c7de92c7 ("netfilter: nf_tables: add NFT_CHAIN_BINDING")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Florian Westphal <fw@strlen.de>
-rw-r--r-- | net/netfilter/nf_tables_api.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index 41e7d21d4429..40bff6e2ea5d 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -10802,6 +10802,9 @@ static void __nft_release_table(struct net *net, struct nft_table *table) ctx.family = table->family; ctx.table = table; list_for_each_entry(chain, &table->chains, list) { + if (nft_chain_is_bound(chain)) + continue; + ctx.chain = chain; list_for_each_entry_safe(rule, nr, &chain->rules, list) { list_del(&rule->list); |