if (!app)
                        goto nla_put_failure;
 
-               if (app_info_type)
-                       NLA_PUT(skb, app_info_type, sizeof(info), &info);
-
-               for (i = 0; i < app_count; i++)
-                       NLA_PUT(skb, app_entry_type, sizeof(struct dcb_app),
-                               &table[i]);
+               if (app_info_type &&
+                   nla_put(skb, app_info_type, sizeof(info), &info))
+                       goto nla_put_failure;
 
+               for (i = 0; i < app_count; i++) {
+                       if (nla_put(skb, app_entry_type, sizeof(struct dcb_app),
+                                   &table[i]))
+                               goto nla_put_failure;
+               }
                nla_nest_end(skb, app);
        }
        err = 0;
        int dcbx;
        int err = -EMSGSIZE;
 
-       NLA_PUT_STRING(skb, DCB_ATTR_IFNAME, netdev->name);
-
+       if (nla_put_string(skb, DCB_ATTR_IFNAME, netdev->name))
+               goto nla_put_failure;
        ieee = nla_nest_start(skb, DCB_ATTR_IEEE);
        if (!ieee)
                goto nla_put_failure;
        if (ops->ieee_getets) {
                struct ieee_ets ets;
                err = ops->ieee_getets(netdev, &ets);
-               if (!err)
-                       NLA_PUT(skb, DCB_ATTR_IEEE_ETS, sizeof(ets), &ets);
+               if (!err &&
+                   nla_put(skb, DCB_ATTR_IEEE_ETS, sizeof(ets), &ets))
+                       goto nla_put_failure;
        }
 
        if (ops->ieee_getpfc) {
                struct ieee_pfc pfc;
                err = ops->ieee_getpfc(netdev, &pfc);
-               if (!err)
-                       NLA_PUT(skb, DCB_ATTR_IEEE_PFC, sizeof(pfc), &pfc);
+               if (!err &&
+                   nla_put(skb, DCB_ATTR_IEEE_PFC, sizeof(pfc), &pfc))
+                       goto nla_put_failure;
        }
 
        app = nla_nest_start(skb, DCB_ATTR_IEEE_APP_TABLE);
        if (ops->ieee_peer_getets) {
                struct ieee_ets ets;
                err = ops->ieee_peer_getets(netdev, &ets);
-               if (!err)
-                       NLA_PUT(skb, DCB_ATTR_IEEE_PEER_ETS, sizeof(ets), &ets);
+               if (!err &&
+                   nla_put(skb, DCB_ATTR_IEEE_PEER_ETS, sizeof(ets), &ets))
+                       goto nla_put_failure;
        }
 
        if (ops->ieee_peer_getpfc) {
                struct ieee_pfc pfc;
                err = ops->ieee_peer_getpfc(netdev, &pfc);
-               if (!err)
-                       NLA_PUT(skb, DCB_ATTR_IEEE_PEER_PFC, sizeof(pfc), &pfc);
+               if (!err &&
+                   nla_put(skb, DCB_ATTR_IEEE_PEER_PFC, sizeof(pfc), &pfc))
+                       goto nla_put_failure;
        }
 
        if (ops->peer_getappinfo && ops->peer_getapptable) {
                        ops->getpgtccfgtx(dev, i - DCB_PG_ATTR_TC_0,
                                          &prio, &pgid, &tc_pct, &up_map);
 
-               NLA_PUT_U8(skb, DCB_TC_ATTR_PARAM_PGID, pgid);
-               NLA_PUT_U8(skb, DCB_TC_ATTR_PARAM_UP_MAPPING, up_map);
-               NLA_PUT_U8(skb, DCB_TC_ATTR_PARAM_STRICT_PRIO, prio);
-               NLA_PUT_U8(skb, DCB_TC_ATTR_PARAM_BW_PCT, tc_pct);
+               if (nla_put_u8(skb, DCB_TC_ATTR_PARAM_PGID, pgid) ||
+                   nla_put_u8(skb, DCB_TC_ATTR_PARAM_UP_MAPPING, up_map) ||
+                   nla_put_u8(skb, DCB_TC_ATTR_PARAM_STRICT_PRIO, prio) ||
+                   nla_put_u8(skb, DCB_TC_ATTR_PARAM_BW_PCT, tc_pct))
+                       goto nla_put_failure;
                nla_nest_end(skb, tc_nest);
        }
 
                else
                        ops->getpgbwgcfgtx(dev, i - DCB_PG_ATTR_BW_ID_0,
                                           &tc_pct);
-               NLA_PUT_U8(skb, i, tc_pct);
+               if (nla_put_u8(skb, i, tc_pct))
+                       goto nla_put_failure;
        }
        nla_nest_end(skb, pg);
        return 0;
        int dcbx, i, err = -EMSGSIZE;
        u8 value;
 
-       NLA_PUT_STRING(skb, DCB_ATTR_IFNAME, netdev->name);
-
+       if (nla_put_string(skb, DCB_ATTR_IFNAME, netdev->name))
+               goto nla_put_failure;
        cee = nla_nest_start(skb, DCB_ATTR_CEE);
        if (!cee)
                goto nla_put_failure;
 
                for (i = DCB_PFC_UP_ATTR_0; i <= DCB_PFC_UP_ATTR_7; i++) {
                        ops->getpfccfg(netdev, i - DCB_PFC_UP_ATTR_0, &value);
-                       NLA_PUT_U8(skb, i, value);
+                       if (nla_put_u8(skb, i, value))
+                               goto nla_put_failure;
                }
                nla_nest_end(skb, pfc_nest);
        }
 
                for (i = DCB_FEATCFG_ATTR_ALL + 1; i <= DCB_FEATCFG_ATTR_MAX;
                     i++)
-                       if (!ops->getfeatcfg(netdev, i, &value))
-                               NLA_PUT_U8(skb, i, value);
+                       if (!ops->getfeatcfg(netdev, i, &value) &&
+                           nla_put_u8(skb, i, value))
+                               goto nla_put_failure;
 
                nla_nest_end(skb, feat);
        }
        if (ops->cee_peer_getpg) {
                struct cee_pg pg;
                err = ops->cee_peer_getpg(netdev, &pg);
-               if (!err)
-                       NLA_PUT(skb, DCB_ATTR_CEE_PEER_PG, sizeof(pg), &pg);
+               if (!err &&
+                   nla_put(skb, DCB_ATTR_CEE_PEER_PG, sizeof(pg), &pg))
+                       goto nla_put_failure;
        }
 
        if (ops->cee_peer_getpfc) {
                struct cee_pfc pfc;
                err = ops->cee_peer_getpfc(netdev, &pfc);
-               if (!err)
-                       NLA_PUT(skb, DCB_ATTR_CEE_PEER_PFC, sizeof(pfc), &pfc);
+               if (!err &&
+                   nla_put(skb, DCB_ATTR_CEE_PEER_PFC, sizeof(pfc), &pfc))
+                       goto nla_put_failure;
        }
 
        if (ops->peer_getappinfo && ops->peer_getapptable) {