3.14-stable review patch. If anyone has any objections, please let me know.
------------------ From: Greg Kroah-Hartman <[email protected]> When backporting upstream commit 75ff39ccc1bd ("tcp: make challenge acks less predictable") I negelected to use the correct ACCESS* type macros. This fixes that up to hopefully speed things up a bit more. Thanks to Chas Wiliams for the 3.10 backport which reminded me of this. Cc: Yue Cao <[email protected]> Cc: Eric Dumazet <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Yuchung Cheng <[email protected]> Cc: Neal Cardwell <[email protected]> Cc: Neal Cardwell <[email protected]> Cc: Yuchung Cheng <[email protected]> Cc: David S. Miller <[email protected]> Cc: Chas Williams <[email protected]> Cc: Willy Tarreau <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> --- net/ipv4/tcp_input.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -3299,12 +3299,12 @@ static void tcp_send_challenge_ack(struc u32 half = (sysctl_tcp_challenge_ack_limit + 1) >> 1; challenge_timestamp = now; - challenge_count = half + + ACCESS_ONCE(challenge_count) = half + prandom_u32_max(sysctl_tcp_challenge_ack_limit); } - count = challenge_count; + count = ACCESS_ONCE(challenge_count); if (count > 0) { - challenge_count = count - 1; + ACCESS_ONCE(challenge_count) = count - 1; NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPCHALLENGEACK); tcp_send_ack(sk); }

