pkt_sched: Stop using NLA_PUT*().
[linux-block.git] / net / sched / em_meta.c
index 1363bf14e61b676567bd4f6de3166b370534fc32..4790c696cbce8364af6552d2028ed0a1880e3a21 100644 (file)
@@ -585,8 +585,9 @@ static void meta_var_apply_extras(struct meta_value *v,
 
 static int meta_var_dump(struct sk_buff *skb, struct meta_value *v, int tlv)
 {
-       if (v->val && v->len)
-               NLA_PUT(skb, tlv, v->len, (void *) v->val);
+       if (v->val && v->len &&
+           nla_put(skb, tlv, v->len, (void *) v->val))
+               goto nla_put_failure;
        return 0;
 
 nla_put_failure:
@@ -636,10 +637,13 @@ static void meta_int_apply_extras(struct meta_value *v,
 
 static int meta_int_dump(struct sk_buff *skb, struct meta_value *v, int tlv)
 {
-       if (v->len == sizeof(unsigned long))
-               NLA_PUT(skb, tlv, sizeof(unsigned long), &v->val);
-       else if (v->len == sizeof(u32))
-               NLA_PUT_U32(skb, tlv, v->val);
+       if (v->len == sizeof(unsigned long)) {
+               if (nla_put(skb, tlv, sizeof(unsigned long), &v->val))
+                       goto nla_put_failure;
+       } else if (v->len == sizeof(u32)) {
+               if (nla_put_u32(skb, tlv, v->val))
+                       goto nla_put_failure;
+       }
 
        return 0;
 
@@ -831,7 +835,8 @@ static int em_meta_dump(struct sk_buff *skb, struct tcf_ematch *em)
        memcpy(&hdr.left, &meta->lvalue.hdr, sizeof(hdr.left));
        memcpy(&hdr.right, &meta->rvalue.hdr, sizeof(hdr.right));
 
-       NLA_PUT(skb, TCA_EM_META_HDR, sizeof(hdr), &hdr);
+       if (nla_put(skb, TCA_EM_META_HDR, sizeof(hdr), &hdr))
+               goto nla_put_failure;
 
        ops = meta_type_ops(&meta->lvalue);
        if (ops->dump(skb, &meta->lvalue, TCA_EM_META_LVALUE) < 0 ||