From d074bf9ff2d524e31659ff30a4040d2d1f8f6a32 Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Tue, 12 Nov 2019 09:27:15 -0500 Subject: [PATCH] fixes for 4.9 Signed-off-by: Sasha Levin --- ...nt-load-store-tearing-on-sk-sk_stamp.patch | 50 +++++++++++++++++++ queue-4.9/series | 1 + 2 files changed, 51 insertions(+) create mode 100644 queue-4.9/net-prevent-load-store-tearing-on-sk-sk_stamp.patch diff --git a/queue-4.9/net-prevent-load-store-tearing-on-sk-sk_stamp.patch b/queue-4.9/net-prevent-load-store-tearing-on-sk-sk_stamp.patch new file mode 100644 index 00000000000..cd9a0eca847 --- /dev/null +++ b/queue-4.9/net-prevent-load-store-tearing-on-sk-sk_stamp.patch @@ -0,0 +1,50 @@ +From b9652677e4c5c32192a1b6c42eaa902dd9197cc4 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Mon, 4 Nov 2019 21:38:43 -0800 +Subject: net: prevent load/store tearing on sk->sk_stamp + +From: Eric Dumazet + +[ 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 +Cc: Deepa Dinamani +Acked-by: Deepa Dinamani +Signed-off-by: David S. Miller +Signed-off-by: Sasha Levin +--- + 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 469c012a6d014..d8d14ae8892a7 100644 +--- a/include/net/sock.h ++++ b/include/net/sock.h +@@ -2142,7 +2142,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 + } + +@@ -2153,7 +2153,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 + diff --git a/queue-4.9/series b/queue-4.9/series index 6b5b3516a3e..52ae35ea6d4 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -62,3 +62,4 @@ x86-apic-32-avoid-bogus-ldr-warnings.patch can-flexcan-disable-completely-the-ecc-mechanism.patch mm-filemap.c-don-t-initiate-writeback-if-mapping-has-no-dirty-pages.patch cgroup-writeback-don-t-switch-wbs-immediately-on-dead-wbs-if-the-memcg-is-dead.patch +net-prevent-load-store-tearing-on-sk-sk_stamp.patch -- 2.47.3