]> git.ipfire.org Git - thirdparty/ipset.git/commitdiff
netfilter: ipset: Fix subcounter update skip
authorPhil Sutter <phil@nwl.cc>
Thu, 14 May 2020 11:31:21 +0000 (13:31 +0200)
committerJozsef Kadlecsik <kadlec@netfilter.org>
Sun, 20 Sep 2020 08:34:35 +0000 (10:34 +0200)
If IPSET_FLAG_SKIP_SUBCOUNTER_UPDATE is set, user requested to not
update counters in sub sets. Therefore IPSET_FLAG_SKIP_COUNTER_UPDATE
must be set, not unset.

Fixes: 6e01781d1c80e ("netfilter: ipset: set match: add support to match the counters")
Signed-off-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Jozsef Kadlecsik <kadlec@netfilter.org>
kernel/net/netfilter/ipset/ip_set_list_set.c

index fe862fb6fe70f8ccc4b027664a6cc931428e06a0..8c7fef8e6858bdbba388b0ce9284b54392cc2350 100644 (file)
@@ -62,7 +62,7 @@ list_set_ktest(struct ip_set *set, const struct sk_buff *skb,
        /* Don't lookup sub-counters at all */
        opt->cmdflags &= ~IPSET_FLAG_MATCH_COUNTERS;
        if (opt->cmdflags & IPSET_FLAG_SKIP_SUBCOUNTER_UPDATE)
-               opt->cmdflags &= ~IPSET_FLAG_SKIP_COUNTER_UPDATE;
+               opt->cmdflags |= IPSET_FLAG_SKIP_COUNTER_UPDATE;
        list_for_each_entry_rcu(e, &map->members, list) {
                ret = ip_set_test(e->id, skb, par, opt);
                if (ret <= 0)