]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - net/netfilter/nft_set_rbtree.c
Merge branches 'pm-core', 'pm-qos', 'pm-domains' and 'pm-opp'
[linux.git] / net / netfilter / nft_set_rbtree.c
index 36493a7cae8827fa41036f381d65d28d59b139b2..f06f55ee516de44d3b0367cc52afb32173a2d0e8 100644 (file)
@@ -171,6 +171,15 @@ static void nft_rbtree_activate(const struct net *net,
        nft_set_elem_change_active(net, set, &rbe->ext);
 }
 
+static bool nft_rbtree_deactivate_one(const struct net *net,
+                                     const struct nft_set *set, void *priv)
+{
+       struct nft_rbtree_elem *rbe = priv;
+
+       nft_set_elem_change_active(net, set, &rbe->ext);
+       return true;
+}
+
 static void *nft_rbtree_deactivate(const struct net *net,
                                   const struct nft_set *set,
                                   const struct nft_set_elem *elem)
@@ -204,7 +213,7 @@ static void *nft_rbtree_deactivate(const struct net *net,
                                parent = parent->rb_right;
                                continue;
                        }
-                       nft_set_elem_change_active(net, set, &rbe->ext);
+                       nft_rbtree_deactivate_one(net, set, rbe);
                        return rbe;
                }
        }
@@ -212,7 +221,7 @@ static void *nft_rbtree_deactivate(const struct net *net,
 }
 
 static void nft_rbtree_walk(const struct nft_ctx *ctx,
-                           const struct nft_set *set,
+                           struct nft_set *set,
                            struct nft_set_iter *iter)
 {
        const struct nft_rbtree *priv = nft_set_priv(set);
@@ -295,6 +304,7 @@ static struct nft_set_ops nft_rbtree_ops __read_mostly = {
        .insert         = nft_rbtree_insert,
        .remove         = nft_rbtree_remove,
        .deactivate     = nft_rbtree_deactivate,
+       .deactivate_one = nft_rbtree_deactivate_one,
        .activate       = nft_rbtree_activate,
        .lookup         = nft_rbtree_lookup,
        .walk           = nft_rbtree_walk,