diff options
| author | Pablo Neira Ayuso <pablo@netfilter.org> | 2026-08-13 15:00:36 +0200 |
|---|---|---|
| committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2026-08-18 00:56:20 +0200 |
| commit | 1e3b9e1c77fe262c6999c50f6f23c20f96faf5ce (patch) | |
| tree | c33ba567d37f0e22e383966f6d2077108e71cd0c /tools/perf/scripts/python/stackcollapse.py | |
| parent | b343ededb3f961dd44b16d148b7ada697fe80c95 (diff) | |
netfilter: nf_tables: call set ops .commit when building new ruleset blob
The rbtree set only builds the b-search array after the new ruleset has
been published through set ops .commit.
This exposes an empty set for a short time span which results in a bogus
mismatch for the following batch:
destroy table ip x
table ip x {
...
}
The same problem also affects the pipapo set backend which also provides
a set ops .commit interface too.
This patch moves the set ops .commit call right before building and
publishing the chain blob. The commit path now performs an early
handling of the DELSETELEM command to remove stale elements from the
clone before it is published via rcu. Note that DELSETELEM notifications
are still delivered in order. NEWSETELEM commands are handled after the
set is published, since this clears the previous genbit to 1 to prepare
the element for the next control plane transaction. This comes at the
cost of one extra iteration over the transaction list.
Suggested-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
