Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel...
[firefly-linux-kernel-4.4.55.git] / net / ipv4 / ipmr.c
index 960fbfc3e976f5c8c65a2a95c8d3bd5946c0ec33..a9e519ad6db53d544c73d145724602cde1e3f48e 100644 (file)
@@ -949,8 +949,7 @@ static int ipmr_cache_report(struct mr_table *mrt,
        ret = sock_queue_rcv_skb(mroute_sk, skb);
        rcu_read_unlock();
        if (ret < 0) {
-               if (net_ratelimit())
-                       pr_warn("mroute: pending queue full, dropping entries\n");
+               net_warn_ratelimited("mroute: pending queue full, dropping entries\n");
                kfree_skb(skb);
        }
 
@@ -2119,15 +2118,16 @@ static int ipmr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb,
        rtm->rtm_src_len  = 32;
        rtm->rtm_tos      = 0;
        rtm->rtm_table    = mrt->id;
-       NLA_PUT_U32(skb, RTA_TABLE, mrt->id);
+       if (nla_put_u32(skb, RTA_TABLE, mrt->id))
+               goto nla_put_failure;
        rtm->rtm_type     = RTN_MULTICAST;
        rtm->rtm_scope    = RT_SCOPE_UNIVERSE;
        rtm->rtm_protocol = RTPROT_UNSPEC;
        rtm->rtm_flags    = 0;
 
-       NLA_PUT_BE32(skb, RTA_SRC, c->mfc_origin);
-       NLA_PUT_BE32(skb, RTA_DST, c->mfc_mcastgrp);
-
+       if (nla_put_be32(skb, RTA_SRC, c->mfc_origin) ||
+           nla_put_be32(skb, RTA_DST, c->mfc_mcastgrp))
+               goto nla_put_failure;
        if (__ipmr_fill_mroute(mrt, skb, c, rtm) < 0)
                goto nla_put_failure;