]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.18-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 Aug 2017 21:03:10 +0000 (14:03 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 Aug 2017 21:03:10 +0000 (14:03 -0700)
added patches:
mm-page_alloc-remove-kernel-address-exposure-in-free_reserved_area.patch

queue-3.18/mm-page_alloc-remove-kernel-address-exposure-in-free_reserved_area.patch [new file with mode: 0644]
queue-3.18/series

diff --git a/queue-3.18/mm-page_alloc-remove-kernel-address-exposure-in-free_reserved_area.patch b/queue-3.18/mm-page_alloc-remove-kernel-address-exposure-in-free_reserved_area.patch
new file mode 100644 (file)
index 0000000..0471098
--- /dev/null
@@ -0,0 +1,71 @@
+From adb1fe9ae2ee6ef6bc10f3d5a588020e7664dfa7 Mon Sep 17 00:00:00 2001
+From: Josh Poimboeuf <jpoimboe@redhat.com>
+Date: Tue, 25 Oct 2016 09:51:14 -0500
+Subject: mm/page_alloc: Remove kernel address exposure in free_reserved_area()
+
+From: Josh Poimboeuf <jpoimboe@redhat.com>
+
+commit adb1fe9ae2ee6ef6bc10f3d5a588020e7664dfa7 upstream.
+
+Linus suggested we try to remove some of the low-hanging fruit related
+to kernel address exposure in dmesg.  The only leaks I see on my local
+system are:
+
+  Freeing SMP alternatives memory: 32K (ffffffff9e309000 - ffffffff9e311000)
+  Freeing initrd memory: 10588K (ffffa0b736b42000 - ffffa0b737599000)
+  Freeing unused kernel memory: 3592K (ffffffff9df87000 - ffffffff9e309000)
+  Freeing unused kernel memory: 1352K (ffffa0b7288ae000 - ffffa0b728a00000)
+  Freeing unused kernel memory: 632K (ffffa0b728d62000 - ffffa0b728e00000)
+
+Linus says:
+
+  "I suspect we should just remove [the addresses in the 'Freeing'
+   messages]. I'm sure they are useful in theory, but I suspect they
+   were more useful back when the whole "free init memory" was
+   originally done.
+
+   These days, if we have a use-after-free, I suspect the init-mem
+   situation is the easiest situation by far. Compared to all the dynamic
+   allocations which are much more likely to show it anyway. So having
+   debug output for that case is likely not all that productive."
+
+With this patch the freeing messages now look like this:
+
+  Freeing SMP alternatives memory: 32K
+  Freeing initrd memory: 10588K
+  Freeing unused kernel memory: 3592K
+  Freeing unused kernel memory: 1352K
+  Freeing unused kernel memory: 632K
+
+Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
+Cc: Andy Lutomirski <luto@kernel.org>
+Cc: Borislav Petkov <bp@alien8.de>
+Cc: Brian Gerst <brgerst@gmail.com>
+Cc: Denys Vlasenko <dvlasenk@redhat.com>
+Cc: H. Peter Anvin <hpa@zytor.com>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Cc: Thomas Gleixner <tglx@linutronix.de>
+Cc: linux-mm@kvack.org
+Link: http://lkml.kernel.org/r/6836ff90c45b71d38e5d4405aec56fa9e5d1d4b2.1477405374.git.jpoimboe@redhat.com
+Signed-off-by: Ingo Molnar <mingo@kernel.org>
+Cc: Kees Cook <keescook@google.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ mm/page_alloc.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/mm/page_alloc.c
++++ b/mm/page_alloc.c
+@@ -5467,8 +5467,8 @@ unsigned long free_reserved_area(void *s
+       }
+       if (pages && s)
+-              pr_info("Freeing %s memory: %ldK (%p - %p)\n",
+-                      s, pages << (PAGE_SHIFT - 10), start, end);
++              pr_info("Freeing %s memory: %ldK\n",
++                      s, pages << (PAGE_SHIFT - 10));
+       return pages;
+ }
index 231072b140d15da6eeff66748aa4ffca40641a8a..b8aeda74df582f0f5d62d0819821fbf378cb5382 100644 (file)
@@ -58,3 +58,4 @@ workqueue-restore-wq_unbound-max_active-1-to-be-ordered.patch
 alsa-hda-fix-speaker-output-from-vaio-vpcl14m1r.patch
 asoc-do-not-close-shared-backend-dailink.patch
 kvm-async_pf-make-rcu-irq-exit-if-not-triggered-from-idle-task.patch
+mm-page_alloc-remove-kernel-address-exposure-in-free_reserved_area.patch