tcp_flags = flow->tcp_flags;
        spin_unlock_bh(&flow->lock);
 
-       if (used)
-               NLA_PUT_U64(skb, OVS_FLOW_ATTR_USED, ovs_flow_used_time(used));
+       if (used &&
+           nla_put_u64(skb, OVS_FLOW_ATTR_USED, ovs_flow_used_time(used)))
+               goto nla_put_failure;
 
-       if (stats.n_packets)
-               NLA_PUT(skb, OVS_FLOW_ATTR_STATS,
-                       sizeof(struct ovs_flow_stats), &stats);
+       if (stats.n_packets &&
+           nla_put(skb, OVS_FLOW_ATTR_STATS,
+                   sizeof(struct ovs_flow_stats), &stats))
+               goto nla_put_failure;
 
-       if (tcp_flags)
-               NLA_PUT_U8(skb, OVS_FLOW_ATTR_TCP_FLAGS, tcp_flags);
+       if (tcp_flags &&
+           nla_put_u8(skb, OVS_FLOW_ATTR_TCP_FLAGS, tcp_flags))
+               goto nla_put_failure;
 
        /* If OVS_FLOW_ATTR_ACTIONS doesn't fit, skip dumping the actions if
         * this is the first flow to be dumped into 'skb'.  This is unusual for
                goto nla_put_failure;
 
        get_dp_stats(dp, &dp_stats);
-       NLA_PUT(skb, OVS_DP_ATTR_STATS, sizeof(struct ovs_dp_stats), &dp_stats);
+       if (nla_put(skb, OVS_DP_ATTR_STATS, sizeof(struct ovs_dp_stats), &dp_stats))
+               goto nla_put_failure;
 
        return genlmsg_end(skb, ovs_header);
 
 
        ovs_header->dp_ifindex = get_dpifindex(vport->dp);
 
-       NLA_PUT_U32(skb, OVS_VPORT_ATTR_PORT_NO, vport->port_no);
-       NLA_PUT_U32(skb, OVS_VPORT_ATTR_TYPE, vport->ops->type);
-       NLA_PUT_STRING(skb, OVS_VPORT_ATTR_NAME, vport->ops->get_name(vport));
-       NLA_PUT_U32(skb, OVS_VPORT_ATTR_UPCALL_PID, vport->upcall_pid);
+       if (nla_put_u32(skb, OVS_VPORT_ATTR_PORT_NO, vport->port_no) ||
+           nla_put_u32(skb, OVS_VPORT_ATTR_TYPE, vport->ops->type) ||
+           nla_put_string(skb, OVS_VPORT_ATTR_NAME, vport->ops->get_name(vport)) ||
+           nla_put_u32(skb, OVS_VPORT_ATTR_UPCALL_PID, vport->upcall_pid))
+               goto nla_put_failure;
 
        ovs_vport_get_stats(vport, &vport_stats);
-       NLA_PUT(skb, OVS_VPORT_ATTR_STATS, sizeof(struct ovs_vport_stats),
-               &vport_stats);
+       if (nla_put(skb, OVS_VPORT_ATTR_STATS, sizeof(struct ovs_vport_stats),
+                   &vport_stats))
+               goto nla_put_failure;
 
        err = ovs_vport_get_options(vport, skb);
        if (err == -EMSGSIZE)
 
        struct ovs_key_ethernet *eth_key;
        struct nlattr *nla, *encap;
 
-       if (swkey->phy.priority)
-               NLA_PUT_U32(skb, OVS_KEY_ATTR_PRIORITY, swkey->phy.priority);
+       if (swkey->phy.priority &&
+           nla_put_u32(skb, OVS_KEY_ATTR_PRIORITY, swkey->phy.priority))
+               goto nla_put_failure;
 
-       if (swkey->phy.in_port != USHRT_MAX)
-               NLA_PUT_U32(skb, OVS_KEY_ATTR_IN_PORT, swkey->phy.in_port);
+       if (swkey->phy.in_port != USHRT_MAX &&
+           nla_put_u32(skb, OVS_KEY_ATTR_IN_PORT, swkey->phy.in_port))
+               goto nla_put_failure;
 
        nla = nla_reserve(skb, OVS_KEY_ATTR_ETHERNET, sizeof(*eth_key));
        if (!nla)
        memcpy(eth_key->eth_dst, swkey->eth.dst, ETH_ALEN);
 
        if (swkey->eth.tci || swkey->eth.type == htons(ETH_P_8021Q)) {
-               NLA_PUT_BE16(skb, OVS_KEY_ATTR_ETHERTYPE, htons(ETH_P_8021Q));
-               NLA_PUT_BE16(skb, OVS_KEY_ATTR_VLAN, swkey->eth.tci);
+               if (nla_put_be16(skb, OVS_KEY_ATTR_ETHERTYPE, htons(ETH_P_8021Q)) ||
+                   nla_put_be16(skb, OVS_KEY_ATTR_VLAN, swkey->eth.tci))
+                       goto nla_put_failure;
                encap = nla_nest_start(skb, OVS_KEY_ATTR_ENCAP);
                if (!swkey->eth.tci)
                        goto unencap;
        if (swkey->eth.type == htons(ETH_P_802_2))
                goto unencap;
 
-       NLA_PUT_BE16(skb, OVS_KEY_ATTR_ETHERTYPE, swkey->eth.type);
+       if (nla_put_be16(skb, OVS_KEY_ATTR_ETHERTYPE, swkey->eth.type))
+               goto nla_put_failure;
 
        if (swkey->eth.type == htons(ETH_P_IP)) {
                struct ovs_key_ipv4 *ipv4_key;