]> granicus.if.org Git - ipset/commitdiff
Fix broken commit "Check extensions attributes before getting extensions."
authorJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Sun, 29 Mar 2015 12:58:51 +0000 (14:58 +0200)
committerJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Sun, 29 Mar 2015 14:36:31 +0000 (16:36 +0200)
Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
kernel/net/netfilter/ipset/ip_set_core.c

index 3c265e5f187701e4a14d44add4fc09637be526a4..e20bfa5a87a460ae32a18e3430b8a1f09788bd19 100644 (file)
@@ -390,14 +390,6 @@ ip_set_elem_len(struct ip_set *set, struct nlattr *tb[], size_t len)
        return offset;
 }
 
-       if (unlikely(!ip_set_optattr_netorder(tb, IPSET_ATTR_TIMEOUT) ||
-                    !ip_set_optattr_netorder(tb, IPSET_ATTR_PACKETS) ||
-                    !ip_set_optattr_netorder(tb, IPSET_ATTR_BYTES) ||
-                    !ip_set_optattr_netorder(tb, IPSET_ATTR_SKBMARK) ||
-                    !ip_set_optattr_netorder(tb, IPSET_ATTR_SKBPRIO) ||
-                    !ip_set_optattr_netorder(tb, IPSET_ATTR_SKBQUEUE)))
-               return -IPSET_ERR_PROTOCOL;
-
 EXPORT_SYMBOL_GPL(ip_set_elem_len);
 
 int
@@ -406,6 +398,14 @@ ip_set_get_extensions(struct ip_set *set, struct nlattr *tb[],
 {
        u64 fullmark;
 
+       if (unlikely(!ip_set_optattr_netorder(tb, IPSET_ATTR_TIMEOUT) ||
+                    !ip_set_optattr_netorder(tb, IPSET_ATTR_PACKETS) ||
+                    !ip_set_optattr_netorder(tb, IPSET_ATTR_BYTES) ||
+                    !ip_set_optattr_netorder(tb, IPSET_ATTR_SKBMARK) ||
+                    !ip_set_optattr_netorder(tb, IPSET_ATTR_SKBPRIO) ||
+                    !ip_set_optattr_netorder(tb, IPSET_ATTR_SKBQUEUE)))
+               return -IPSET_ERR_PROTOCOL;
+
        if (tb[IPSET_ATTR_TIMEOUT]) {
                if (!SET_WITH_TIMEOUT(set))
                        return -IPSET_ERR_TIMEOUT;