diff --git a/include/net/tcp.h b/include/net/tcp.h index 5a841786988d5ab887badd5cd1124b63d00a6609..e2c09ab2e1f8384afb5aa67afa99156d60339e08 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -1357,7 +1357,7 @@ void tcp_select_initial_window(const struct sock *sk, int __space, static inline int tcp_win_from_space(const struct sock *sk, int space) { - int tcp_adv_win_scale = sock_net(sk)->ipv4.sysctl_tcp_adv_win_scale; + int tcp_adv_win_scale = READ_ONCE(sock_net(sk)->ipv4.sysctl_tcp_adv_win_scale); return tcp_adv_win_scale <= 0 ? (space>>(-tcp_adv_win_scale)) :