]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
tcp: beware of alignments in tcp_get_info()
authorEric Dumazet <edumazet@google.com>
Wed, 27 Jan 2016 18:52:43 +0000 (10:52 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Mar 2016 23:07:05 +0000 (15:07 -0800)
commit87e40d8d8ba965003611a8bdbe18019d344d9d58
treef916d734d9ab673525b5ab4e9e7e5b8731bd0501
parentba50e6d96f3daf3db8396cc3529f90339d9ef59a
tcp: beware of alignments in tcp_get_info()

[ Upstream commit ff5d749772018602c47509bdc0093ff72acd82ec ]

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ipv4/tcp.c