Skip to content

Commit d99407f

Browse files
committed
netfilter: nft_rbtree: no need for spinlock from set destroy path
The sets are released from the rcu callback, after the rule is removed from the chain list, which implies that nfnetlink cannot update the rbtree and no packets are walking on the set anymore. Thus, we can get rid of the spinlock in the set destroy path there. Signed-off-by: Pablo Neira Ayuso <[email protected]> Reviewied-by: Thomas Graf <[email protected]>
1 parent 39f3901 commit d99407f

File tree

1 file changed

+0
-2
lines changed

1 file changed

+0
-2
lines changed

net/netfilter/nft_rbtree.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,13 +234,11 @@ static void nft_rbtree_destroy(const struct nft_set *set)
234234
struct nft_rbtree_elem *rbe;
235235
struct rb_node *node;
236236

237-
spin_lock_bh(&nft_rbtree_lock);
238237
while ((node = priv->root.rb_node) != NULL) {
239238
rb_erase(node, &priv->root);
240239
rbe = rb_entry(node, struct nft_rbtree_elem, node);
241240
nft_rbtree_elem_destroy(set, rbe);
242241
}
243-
spin_unlock_bh(&nft_rbtree_lock);
244242
}
245243

246244
static bool nft_rbtree_estimate(const struct nft_set_desc *desc, u32 features,

0 commit comments

Comments
 (0)