--- /dev/null
+From 82c3f8a1f819e30e37e648f45a493b2d3f0a5abe Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 4 Nov 2019 21:38:43 -0800
+Subject: net: prevent load/store tearing on sk->sk_stamp
+
+From: Eric Dumazet <edumazet@google.com>
+
+[ Upstream commit f75359f3ac855940c5718af10ba089b8977bf339 ]
+
+Add a couple of READ_ONCE() and WRITE_ONCE() to prevent
+load-tearing and store-tearing in sock_read_timestamp()
+and sock_write_timestamp()
+
+This might prevent another KCSAN report.
+
+Fixes: 3a0ed3e96197 ("sock: Make sock->sk_stamp thread-safe")
+Signed-off-by: Eric Dumazet <edumazet@google.com>
+Cc: Deepa Dinamani <deepa.kernel@gmail.com>
+Acked-by: Deepa Dinamani <deepa.kernel@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ include/net/sock.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/net/sock.h b/include/net/sock.h
+index 1571ab68de160..5ed4786a2058b 100644
+--- a/include/net/sock.h
++++ b/include/net/sock.h
+@@ -2174,7 +2174,7 @@ static inline ktime_t sock_read_timestamp(struct sock *sk)
+
+ return kt;
+ #else
+- return sk->sk_stamp;
++ return READ_ONCE(sk->sk_stamp);
+ #endif
+ }
+
+@@ -2185,7 +2185,7 @@ static inline void sock_write_timestamp(struct sock *sk, ktime_t kt)
+ sk->sk_stamp = kt;
+ write_sequnlock(&sk->sk_stamp_seq);
+ #else
+- sk->sk_stamp = kt;
++ WRITE_ONCE(sk->sk_stamp, kt);
+ #endif
+ }
+
+--
+2.20.1
+