diff --git a/include/net/tcp.h b/include/net/tcp.h index c49bb1d581a44cbd8e87853ac4ad3dfda6c3125a..8ca5429249579cb87f1994ce71c43da030cb70a0 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -1398,7 +1398,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)) :