ip6mr: align RTA_MFC_STATS on 64-bit
authorNicolas Dichtel <nicolas.dichtel@6wind.com>
Thu, 21 Apr 2016 16:58:27 +0000 (18:58 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 21 Apr 2016 18:22:13 +0000 (14:22 -0400)
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6mr.c

index a10e77103c88dfc952f80c645a7b87c57b8f6dbf..bf678324fd52ad5b573e60958f7600e9e3191240 100644 (file)
@@ -2268,7 +2268,7 @@ static int __ip6mr_fill_mroute(struct mr6_table *mrt, struct sk_buff *skb,
        mfcs.mfcs_packets = c->mfc_un.res.pkt;
        mfcs.mfcs_bytes = c->mfc_un.res.bytes;
        mfcs.mfcs_wrong_if = c->mfc_un.res.wrong_if;
-       if (nla_put(skb, RTA_MFC_STATS, sizeof(mfcs), &mfcs) < 0)
+       if (nla_put_64bit(skb, RTA_MFC_STATS, sizeof(mfcs), &mfcs, RTA_PAD) < 0)
                return -EMSGSIZE;
 
        rtm->rtm_type = RTN_MULTICAST;
@@ -2411,7 +2411,7 @@ static int mr6_msgsize(bool unresolved, int maxvif)
                      + nla_total_size(0)       /* RTA_MULTIPATH */
                      + maxvif * NLA_ALIGN(sizeof(struct rtnexthop))
                                                /* RTA_MFC_STATS */
-                     + nla_total_size(sizeof(struct rta_mfc_stats))
+                     + nla_total_size_64bit(sizeof(struct rta_mfc_stats))
                ;
 
        return len;