From: Jason Xing Date: Fri, 8 Mar 2024 11:25:03 +0000 (+0800) Subject: mptcp: annotate a data-race around sysctl_tcp_wmem[0] X-Git-Tag: v6.9-rc1~159^2~29^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9eb430d40e449640122b0b33ace1f33e793ecc5f;p=thirdparty%2Fkernel%2Flinux.git mptcp: annotate a data-race around sysctl_tcp_wmem[0] It's possible that writer and the reader can manipulate the same sysctl knob concurrently. Using READ_ONCE() to prevent reading an old value. Signed-off-by: Jason Xing Reviewed-by: Eric Dumazet Reviewed-by: Mat Martineau Signed-off-by: David S. Miller --- diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index f16edef6026a3..a10ebf3ee10a1 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -850,7 +850,7 @@ static inline void __mptcp_sync_sndbuf(struct sock *sk) if (sk->sk_userlocks & SOCK_SNDBUF_LOCK) return; - new_sndbuf = sock_net(sk)->ipv4.sysctl_tcp_wmem[0]; + new_sndbuf = READ_ONCE(sock_net(sk)->ipv4.sysctl_tcp_wmem[0]); mptcp_for_each_subflow(mptcp_sk(sk), subflow) { ssk_sndbuf = READ_ONCE(mptcp_subflow_tcp_sock(subflow)->sk_sndbuf);