On Tue, Apr 26, 2016 at 10:06:10AM +0200, Nicolas Dichtel wrote: > > This is the continuation (series #3) of the work done to align netlink > attributes when these attributes contain some 64-bit fields. > > It's the last patchset from what I've seen. > > The last user of nla_put_u64() is block/drbd. This module does not use > standard netlink API (see all the stuff in include/linux/genl_magic_struct.h > and include/linux/genl_magic_func.h). I didn't modify it because it's seems > hard to do it whithout testing and fully understanding the context Something like this should just work. diff --git a/include/linux/genl_magic_struct.h b/include/linux/genl_magic_struct.h index eecd19b..5715dac 100644 --- a/include/linux/genl_magic_struct.h +++ b/include/linux/genl_magic_struct.h @@ -80,7 +80,7 @@ extern void CONCAT_(GENL_MAGIC_FAMILY, _genl_unregister)(void); nla_get_u32, nla_put_u32, true) #define __u64_field(attr_nr, attr_flag, name) \ __field(attr_nr, attr_flag, name, NLA_U64, __u64, \ - nla_get_u64, nla_put_u64, false) + nla_get_u64, nla_put_u64_64bit_unspec, false) #define __str_field(attr_nr, attr_flag, name, maxlen) \ __array(attr_nr, attr_flag, name, NLA_NUL_STRING, char, maxlen, \ nla_strlcpy, nla_put, false) diff --git a/include/net/netlink.h b/include/net/netlink.h index e589cb3..38ba770 100644 --- a/include/net/netlink.h +++ b/include/net/netlink.h @@ -871,6 +871,18 @@ static inline int nla_put_u64_64bit(struct sk_buff *skb, int attrtype, } /** + * nla_put_u64_64bit_unspec - nla_put_u64_64bit() with padattr = 0 + * @skb: socket buffer to add attribute to + * @attrtype: attribute type + * @value: numeric value + */ +static inline int nla_put_u64_64bit_unspec(struct sk_buff *skb, int attrtype, + u64 value) +{ + return nla_put_64bit(skb, attrtype, sizeof(u64), &value, NLA_UNSPEC); +} + +/** * 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 > (for > example, why include/linux/drbd_genl.h is not part of uapi?). > Any thoughts? probably should be. Thanks, Lars -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html