tcp: Fix a data-race around sysctl_tcp_early_retrans.

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2160073
Upstream Status: linux.git

commit 52e65865deb6a36718a463030500f16530eaab74
Author: Kuniyuki Iwashima <kuniyu@amazon.com>
Date:   Mon Jul 18 10:26:45 2022 -0700

    tcp: Fix a data-race around sysctl_tcp_early_retrans.

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

    Fixes: eed530b6c6 ("tcp: early retransmit")
    Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

Signed-off-by: Guillaume Nault <gnault@redhat.com>
This commit is contained in:
Guillaume Nault 2023-01-10 15:01:36 +01:00
parent afe98b9c8e
commit 346b7c48cc
1 changed files with 1 additions and 1 deletions

View File

@ -2744,7 +2744,7 @@ bool tcp_schedule_loss_probe(struct sock *sk, bool advancing_rto)
if (rcu_access_pointer(tp->fastopen_rsk))
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
* not in loss recovery, that are either limited by cwnd or application.
*/