]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.8-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Oct 2016 20:27:18 +0000 (22:27 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Oct 2016 20:27:18 +0000 (22:27 +0200)
added patches:
using-bug_on-as-an-assert-is-_never_-acceptable.patch

queue-4.8/series
queue-4.8/using-bug_on-as-an-assert-is-_never_-acceptable.patch [new file with mode: 0644]

index b960d72aa1f11d7f3849b45b5e287b1951db01fb..e2cdd585e08f0f140ea1c80d43f642df35cf0972 100644 (file)
@@ -1 +1,2 @@
 arm64-debug-avoid-resetting-stepping-state-machine-when-tif_singlestep.patch
+using-bug_on-as-an-assert-is-_never_-acceptable.patch
diff --git a/queue-4.8/using-bug_on-as-an-assert-is-_never_-acceptable.patch b/queue-4.8/using-bug_on-as-an-assert-is-_never_-acceptable.patch
new file mode 100644 (file)
index 0000000..fc11bbc
--- /dev/null
@@ -0,0 +1,53 @@
+From 21f54ddae449f4bdd9f1498124901d67202243d9 Mon Sep 17 00:00:00 2001
+From: Linus Torvalds <torvalds@linux-foundation.org>
+Date: Mon, 3 Oct 2016 21:03:48 -0700
+Subject: Using BUG_ON() as an assert() is _never_ acceptable
+
+From: Linus Torvalds <torvalds@linux-foundation.org>
+
+commit 21f54ddae449f4bdd9f1498124901d67202243d9 upstream.
+
+That just generally kills the machine, and makes debugging only much
+harder, since the traces may long be gone.
+
+Debugging by assert() is a disease.  Don't do it.  If you can continue,
+you're much better off doing so with a live machine where you have a
+much higher chance that the report actually makes it to the system logs,
+rather than result in a machine that is just completely dead.
+
+The only valid situation for BUG_ON() is when continuing is not an
+option, because there is massive corruption.  But if you are just
+verifying that something is true, you warn about your broken assumptions
+(preferably just once), and limp on.
+
+Fixes: 22f2ac51b6d6 ("mm: workingset: fix crash in shadow node shrinker caused by replace_page_cache_page()")
+Cc: Johannes Weiner <hannes@cmpxchg.org>
+Cc: Miklos Szeredi <miklos@szeredi.hu>
+Cc: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ include/linux/swap.h |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/include/linux/swap.h
++++ b/include/linux/swap.h
+@@ -257,7 +257,7 @@ static inline void workingset_node_pages
+ static inline void workingset_node_pages_dec(struct radix_tree_node *node)
+ {
+-      VM_BUG_ON(!workingset_node_pages(node));
++      VM_WARN_ON_ONCE(!workingset_node_pages(node));
+       node->count--;
+ }
+@@ -273,7 +273,7 @@ static inline void workingset_node_shado
+ static inline void workingset_node_shadows_dec(struct radix_tree_node *node)
+ {
+-      VM_BUG_ON(!workingset_node_shadows(node));
++      VM_WARN_ON_ONCE(!workingset_node_shadows(node));
+       node->count -= 1U << RADIX_TREE_COUNT_SHIFT;
+ }