tcp: beware of alignments in tcp_get_info()
authorEric Dumazet <edumazet@google.com>
Wed, 27 Jan 2016 18:52:43 +0000 (10:52 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 29 Jan 2016 06:49:30 +0000 (22:49 -0800)
commitff5d749772018602c47509bdc0093ff72acd82ec
tree4f2f716a27d5be037fe8137634b3c72054297e1c
parent4f2c6ae5c64c353fb1b0425e4747e5603feadba1
tcp: beware of alignments in tcp_get_info()

With some combinations of user provided flags in netlink command,
it is possible to call tcp_get_info() with a buffer that is not 8-bytes
aligned.

It does matter on some arches, so we need to use put_unaligned() to
store the u64 fields.

Current iproute2 package does not trigger this particular issue.

Fixes: 0df48c26d841 ("tcp: add tcpi_bytes_acked to tcp_info")
Fixes: 977cb0ecf82e ("tcp: add pacing_rate information into tcp_info")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp.c