diff options
author | Kuniyuki Iwashima <kuniyu@amazon.com> | 2022-07-22 21:22:03 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-07-25 14:42:10 +0300 |
commit | 79f55473bfc8ac51bd6572929a679eeb4da22251 (patch) | |
tree | 59c15ef3e5e567013c634ac80b9d6df898bed6d8 /net/ipv4 | |
parent | 22396941a7f343d704738360f9ef0e6576489d43 (diff) | |
download | linux-79f55473bfc8ac51bd6572929a679eeb4da22251.tar.xz |
tcp: Fix a data-race around sysctl_tcp_comp_sack_nr.
While reading sysctl_tcp_comp_sack_nr, it can be changed concurrently.
Thus, we need to add READ_ONCE() to its reader.
Fixes: 9c21d2fc41c0 ("tcp: add tcp_comp_sack_nr sysctl")
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/tcp_input.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index a4d8851d83ff..b1637990d570 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -5521,7 +5521,7 @@ send_now: } if (!tcp_is_sack(tp) || - tp->compressed_ack >= sock_net(sk)->ipv4.sysctl_tcp_comp_sack_nr) + tp->compressed_ack >= READ_ONCE(sock_net(sk)->ipv4.sysctl_tcp_comp_sack_nr)) goto send_now; if (tp->compressed_ack_rcv_nxt != tp->rcv_nxt) { |