]> git.baikalelectronics.ru Git - kernel.git/commit
net: Align IFLA_STATS64 attributes properly on architectures that need it.
authorDavid S. Miller <davem@davemloft.net>
Tue, 19 Apr 2016 18:30:10 +0000 (14:30 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 19 Apr 2016 18:30:10 +0000 (14:30 -0400)
commit7a050023d429148d29630840db0638977e9deeeb
treeec57ed115507f9b2b6bf920575036d0ff5e656ec
parent1a3a19984017678312f3624e28251e9784a1e063
net: Align IFLA_STATS64 attributes properly on architectures that need it.

Since the nlattr header is 4 bytes in size, it can cause the netlink
attribute payload to not be 8-byte aligned.

This is particularly troublesome for IFLA_STATS64 which contains 64-bit
statistic values.

Solve this by creating a dummy IFLA_PAD attribute which has a payload
which is zero bytes in size.  When HAVE_EFFICIENT_UNALIGNED_ACCESS is
false, we insert an IFLA_PAD attribute into the netlink response when
necessary such that the IFLA_STATS64 payload will be properly aligned.

With help and suggestions from Eric Dumazet.

Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/if_link.h
net/core/rtnetlink.c