netfilter: nft_set_rbtree: .deactivate fails if element has expired
[platform/kernel/linux-starfive.git] / net / netfilter / nft_set_rbtree.c
index 2660cea..e34662f 100644 (file)
@@ -568,6 +568,8 @@ static void *nft_rbtree_deactivate(const struct net *net,
                                   nft_rbtree_interval_end(this)) {
                                parent = parent->rb_right;
                                continue;
+                       } else if (nft_set_elem_expired(&rbe->ext)) {
+                               break;
                        } else if (!nft_set_elem_active(&rbe->ext, genmask)) {
                                parent = parent->rb_left;
                                continue;