]> Pileus Git - ~andy/linux/blobdiff - net/netfilter/ipset/ip_set_hash_net.c
ipset: Stop using NLA_PUT*().
[~andy/linux] / net / netfilter / ipset / ip_set_hash_net.c
index 7c3d945517cfa55c62faeccb24d6bce29c958faa..6607a814be5791511544d5d743ba39b37c0aee15 100644 (file)
@@ -111,10 +111,11 @@ hash_net4_data_list(struct sk_buff *skb, const struct hash_net4_elem *data)
 {
        u32 flags = data->nomatch ? IPSET_FLAG_NOMATCH : 0;
 
-       NLA_PUT_IPADDR4(skb, IPSET_ATTR_IP, data->ip);
-       NLA_PUT_U8(skb, IPSET_ATTR_CIDR, data->cidr);
-       if (flags)
-               NLA_PUT_NET32(skb, IPSET_ATTR_CADT_FLAGS, htonl(flags));
+       if (nla_put_ipaddr4(skb, IPSET_ATTR_IP, data->ip) ||
+           nla_put_u8(skb, IPSET_ATTR_CIDR, data->cidr) ||
+           (flags &&
+            nla_put_net32(skb, IPSET_ATTR_CADT_FLAGS, htonl(flags))))
+               goto nla_put_failure;
        return 0;
 
 nla_put_failure:
@@ -128,13 +129,13 @@ hash_net4_data_tlist(struct sk_buff *skb, const struct hash_net4_elem *data)
                (const struct hash_net4_telem *)data;
        u32 flags = data->nomatch ? IPSET_FLAG_NOMATCH : 0;
 
-       NLA_PUT_IPADDR4(skb, IPSET_ATTR_IP, tdata->ip);
-       NLA_PUT_U8(skb, IPSET_ATTR_CIDR, tdata->cidr);
-       NLA_PUT_NET32(skb, IPSET_ATTR_TIMEOUT,
-                     htonl(ip_set_timeout_get(tdata->timeout)));
-       if (flags)
-               NLA_PUT_NET32(skb, IPSET_ATTR_CADT_FLAGS, htonl(flags));
-
+       if (nla_put_ipaddr4(skb, IPSET_ATTR_IP, tdata->ip) ||
+           nla_put_u8(skb, IPSET_ATTR_CIDR, tdata->cidr) ||
+           nla_put_net32(skb, IPSET_ATTR_TIMEOUT,
+                         htonl(ip_set_timeout_get(tdata->timeout))) ||
+           (flags &&
+            nla_put_net32(skb, IPSET_ATTR_CADT_FLAGS, htonl(flags))))
+               goto nla_put_failure;
        return 0;
 
 nla_put_failure:
@@ -339,10 +340,11 @@ hash_net6_data_list(struct sk_buff *skb, const struct hash_net6_elem *data)
 {
        u32 flags = data->nomatch ? IPSET_FLAG_NOMATCH : 0;
 
-       NLA_PUT_IPADDR6(skb, IPSET_ATTR_IP, &data->ip);
-       NLA_PUT_U8(skb, IPSET_ATTR_CIDR, data->cidr);
-       if (flags)
-               NLA_PUT_NET32(skb, IPSET_ATTR_CADT_FLAGS, htonl(flags));
+       if (nla_put_ipaddr6(skb, IPSET_ATTR_IP, &data->ip.in6) ||
+           nla_put_u8(skb, IPSET_ATTR_CIDR, data->cidr) ||
+           (flags &&
+            nla_put_net32(skb, IPSET_ATTR_CADT_FLAGS, htonl(flags))))
+               goto nla_put_failure;
        return 0;
 
 nla_put_failure:
@@ -356,12 +358,13 @@ hash_net6_data_tlist(struct sk_buff *skb, const struct hash_net6_elem *data)
                (const struct hash_net6_telem *)data;
        u32 flags = data->nomatch ? IPSET_FLAG_NOMATCH : 0;
 
-       NLA_PUT_IPADDR6(skb, IPSET_ATTR_IP, &e->ip);
-       NLA_PUT_U8(skb, IPSET_ATTR_CIDR, e->cidr);
-       NLA_PUT_NET32(skb, IPSET_ATTR_TIMEOUT,
-                     htonl(ip_set_timeout_get(e->timeout)));
-       if (flags)
-               NLA_PUT_NET32(skb, IPSET_ATTR_CADT_FLAGS, htonl(flags));
+       if (nla_put_ipaddr6(skb, IPSET_ATTR_IP, &e->ip.in6) ||
+           nla_put_u8(skb, IPSET_ATTR_CIDR, e->cidr) ||
+           nla_put_net32(skb, IPSET_ATTR_TIMEOUT,
+                         htonl(ip_set_timeout_get(e->timeout))) ||
+           (flags &&
+            nla_put_net32(skb, IPSET_ATTR_CADT_FLAGS, htonl(flags))))
+               goto nla_put_failure;
        return 0;
 
 nla_put_failure: