Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 83767fe8 authored by Kuniyuki Iwashima's avatar Kuniyuki Iwashima Committed by Greg Kroah-Hartman
Browse files

tcp: Fix a data-race around sysctl_tcp_early_retrans.



[ Upstream commit 52e65865deb6a36718a463030500f16530eaab74 ]

While reading sysctl_tcp_early_retrans, it can be changed concurrently.
Thus, we need to add READ_ONCE() to its reader.

Fixes: eed530b6 ("tcp: early retransmit")
Signed-off-by: default avatarKuniyuki Iwashima <kuniyu@amazon.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 795aee11
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -2509,7 +2509,7 @@ bool tcp_schedule_loss_probe(struct sock *sk, bool advancing_rto)
	if (rcu_access_pointer(tp->fastopen_rsk))
	if (rcu_access_pointer(tp->fastopen_rsk))
		return false;
		return false;


	early_retrans = sock_net(sk)->ipv4.sysctl_tcp_early_retrans;
	early_retrans = READ_ONCE(sock_net(sk)->ipv4.sysctl_tcp_early_retrans);
	/* Schedule a loss probe in 2*RTT for SACK capable connections
	/* Schedule a loss probe in 2*RTT for SACK capable connections
	 * not in loss recovery, that are either limited by cwnd or application.
	 * not in loss recovery, that are either limited by cwnd or application.
	 */
	 */