Here is a proposal to add more helpers in the libnetlink to manage 64-bit alignment issues. Note that this series was only tested on x86 by tweeking CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS and adding some traces.
The first patch adds helpers for 64bit alignment and other patches use them. We could also add helpers for nla_put_u64() and its variants if needed. v1 -> v2: - remove patch #1 - split patch #2 (now #1 and #2) - add nla_need_padding_for_64bit() include/net/netlink.h | 39 +++++++++++++---- include/uapi/linux/rtnetlink.h | 1 + lib/nlattr.c | 99 ++++++++++++++++++++++++++++++++++++++++++ net/core/rtnetlink.c | 22 +++------- net/ipv4/ipmr.c | 4 +- net/ipv6/ip6mr.c | 4 +- 6 files changed, 140 insertions(+), 29 deletions(-) Comments are welcomed, Regards, Nicolas