]> git.karo-electronics.de Git - linux-beck.git/commitdiff
netfilter: ipset: Use SET_WITH_*() helpers to test set extensions
authorSergey Popovich <popovich_sergei@mail.ua>
Fri, 12 Jun 2015 19:11:54 +0000 (21:11 +0200)
committerJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Sun, 14 Jun 2015 08:40:12 +0000 (10:40 +0200)
Signed-off-by: Sergey Popovich <popovich_sergei@mail.ua>
Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
net/netfilter/ipset/ip_set_core.c
net/netfilter/ipset/ip_set_hash_gen.h

index 475e4960a164eca8f6d48c939d6f9165a70b6886..347d97afc887535639b1284121615d54766de466 100644 (file)
@@ -390,12 +390,12 @@ ip_set_get_extensions(struct ip_set *set, struct nlattr *tb[],
 {
        u64 fullmark;
        if (tb[IPSET_ATTR_TIMEOUT]) {
-               if (!(set->extensions & IPSET_EXT_TIMEOUT))
+               if (!SET_WITH_TIMEOUT(set))
                        return -IPSET_ERR_TIMEOUT;
                ext->timeout = ip_set_timeout_uget(tb[IPSET_ATTR_TIMEOUT]);
        }
        if (tb[IPSET_ATTR_BYTES] || tb[IPSET_ATTR_PACKETS]) {
-               if (!(set->extensions & IPSET_EXT_COUNTER))
+               if (!SET_WITH_COUNTER(set))
                        return -IPSET_ERR_COUNTER;
                if (tb[IPSET_ATTR_BYTES])
                        ext->bytes = be64_to_cpu(nla_get_be64(
@@ -405,25 +405,25 @@ ip_set_get_extensions(struct ip_set *set, struct nlattr *tb[],
                                                   tb[IPSET_ATTR_PACKETS]));
        }
        if (tb[IPSET_ATTR_COMMENT]) {
-               if (!(set->extensions & IPSET_EXT_COMMENT))
+               if (!SET_WITH_COMMENT(set))
                        return -IPSET_ERR_COMMENT;
                ext->comment = ip_set_comment_uget(tb[IPSET_ATTR_COMMENT]);
        }
        if (tb[IPSET_ATTR_SKBMARK]) {
-               if (!(set->extensions & IPSET_EXT_SKBINFO))
+               if (!SET_WITH_SKBINFO(set))
                        return -IPSET_ERR_SKBINFO;
                fullmark = be64_to_cpu(nla_get_be64(tb[IPSET_ATTR_SKBMARK]));
                ext->skbmark = fullmark >> 32;
                ext->skbmarkmask = fullmark & 0xffffffff;
        }
        if (tb[IPSET_ATTR_SKBPRIO]) {
-               if (!(set->extensions & IPSET_EXT_SKBINFO))
+               if (!SET_WITH_SKBINFO(set))
                        return -IPSET_ERR_SKBINFO;
                ext->skbprio = be32_to_cpu(nla_get_be32(
                                            tb[IPSET_ATTR_SKBPRIO]));
        }
        if (tb[IPSET_ATTR_SKBQUEUE]) {
-               if (!(set->extensions & IPSET_EXT_SKBINFO))
+               if (!SET_WITH_SKBINFO(set))
                        return -IPSET_ERR_SKBINFO;
                ext->skbqueue = be16_to_cpu(nla_get_be16(
                                            tb[IPSET_ATTR_SKBQUEUE]));
index 7952869c8023f9a42b3502301973747e0ec9adcc..8dd82db05ed0604a9ab4729e0ec25a155a1a9734 100644 (file)
@@ -431,7 +431,7 @@ mtype_destroy(struct ip_set *set)
 {
        struct htype *h = set->data;
 
-       if (set->extensions & IPSET_EXT_TIMEOUT)
+       if (SET_WITH_TIMEOUT(set))
                del_timer_sync(&h->gc);
 
        mtype_ahash_destroy(set, rcu_dereference_bh_nfnl(h->table), true);