rtnl: align nlattr properly when needed
authorNicolas Dichtel <nicolas.dichtel@6wind.com>
Tue, 26 Apr 2016 08:06:16 +0000 (10:06 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 26 Apr 2016 16:00:49 +0000 (12:00 -0400)
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/rtnetlink.c

index 9efc1f34ef3b29e85d7491a59781a7d7f8b86cd8..5503dfe6a050136a45182c0a86914e732e392381 100644 (file)
@@ -876,7 +876,7 @@ static noinline size_t if_nlmsg_size(const struct net_device *dev,
               + nla_total_size(IFNAMSIZ) /* IFLA_IFNAME */
               + nla_total_size(IFALIASZ) /* IFLA_IFALIAS */
               + nla_total_size(IFNAMSIZ) /* IFLA_QDISC */
-              + nla_total_size(sizeof(struct rtnl_link_ifmap))
+              + nla_total_size_64bit(sizeof(struct rtnl_link_ifmap))
               + nla_total_size(sizeof(struct rtnl_link_stats))
               + nla_total_size_64bit(sizeof(struct rtnl_link_stats64))
               + nla_total_size(MAX_ADDR_LEN) /* IFLA_ADDRESS */
@@ -1181,7 +1181,7 @@ static int rtnl_fill_link_ifmap(struct sk_buff *skb, struct net_device *dev)
                .dma         = dev->dma,
                .port        = dev->if_port,
        };
-       if (nla_put(skb, IFLA_MAP, sizeof(map), &map))
+       if (nla_put_64bit(skb, IFLA_MAP, sizeof(map), &map, IFLA_PAD))
                return -EMSGSIZE;
 
        return 0;