From: Sasha Levin Date: Tue, 12 Nov 2019 14:27:15 +0000 (-0500) Subject: fixes for 4.4 X-Git-Tag: v4.4.201~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dcb5bae64819f7e80b6bb35a7e59b71304a482a9;p=thirdparty%2Fkernel%2Fstable-queue.git fixes for 4.4 Signed-off-by: Sasha Levin --- diff --git a/queue-4.4/net-prevent-load-store-tearing-on-sk-sk_stamp.patch b/queue-4.4/net-prevent-load-store-tearing-on-sk-sk_stamp.patch new file mode 100644 index 00000000000..cdead3fa6dc --- /dev/null +++ b/queue-4.4/net-prevent-load-store-tearing-on-sk-sk_stamp.patch @@ -0,0 +1,50 @@ +From 82c3f8a1f819e30e37e648f45a493b2d3f0a5abe 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 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 + diff --git a/queue-4.4/series b/queue-4.4/series index 5248c74cf2c..5da2c49da74 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -40,3 +40,4 @@ e1000-fix-memory-leaks.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