libnl: nla_put_be64(): align on a 64-bit area

nla_data() is now aligned on a 64-bit area.

A temporary version (nla_put_be64_32bit()) is added for nla_put_net64().
This function is removed in the next patch.

Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Nicolas Dichtel
2016-04-22 17:31:18 +02:00
committed by David S. Miller
parent e7479122be
commit b46f6ded90
18 changed files with 87 additions and 38 deletions

View File

@@ -856,16 +856,23 @@ static inline int nla_put_u64(struct sk_buff *skb, int attrtype, u64 value)
}
/**
* nla_put_be64 - Add a __be64 netlink attribute to a socket buffer
* nla_put_be64 - Add a __be64 netlink attribute to a socket buffer and align it
* @skb: socket buffer to add attribute to
* @attrtype: attribute type
* @value: numeric value
* @padattr: attribute type for the padding
*/
static inline int nla_put_be64(struct sk_buff *skb, int attrtype, __be64 value)
static inline int nla_put_be64(struct sk_buff *skb, int attrtype, __be64 value,
int padattr)
{
return nla_put_64bit(skb, attrtype, sizeof(__be64), &value, padattr);
}
static inline int nla_put_be64_32bit(struct sk_buff *skb, int attrtype,
__be64 value)
{
return nla_put(skb, attrtype, sizeof(__be64), &value);
}
/**
* nla_put_net64 - Add 64-bit network byte order netlink attribute to a socket buffer
* @skb: socket buffer to add attribute to
@@ -874,7 +881,7 @@ static inline int nla_put_be64(struct sk_buff *skb, int attrtype, __be64 value)
*/
static inline int nla_put_net64(struct sk_buff *skb, int attrtype, __be64 value)
{
return nla_put_be64(skb, attrtype | NLA_F_NET_BYTEORDER, value);
return nla_put_be64_32bit(skb, attrtype | NLA_F_NET_BYTEORDER, value);
}
/**