]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Add bad pmd fix from Huge
authorChris Wright <chrisw@sous-sol.org>
Sat, 7 Jun 2008 04:22:49 +0000 (21:22 -0700)
committerChris Wright <chrisw@sous-sol.org>
Sat, 7 Jun 2008 04:22:49 +0000 (21:22 -0700)
queue-2.6.25/series
queue-2.6.25/x86-fix-bad-pmd-ffff810000207xxx.patch [new file with mode: 0644]

index c0a7811a4aa15e227944d7411b677ff998092155..bb2319a77805189cf9dfb26b53d7316ad6e09e4f 100644 (file)
@@ -48,3 +48,4 @@ md-fix-uninitialized-use-of-mddev-recovery_wait.patch
 md-fix-prexor-vs-sync_request-race.patch
 capabilities-remain-source-compatible-with-32-bit-raw-legacy-capability-support.patch
 cpufreq-fix-null-object-access-on-transmeta-cpu.patch
+x86-fix-bad-pmd-ffff810000207xxx.patch
diff --git a/queue-2.6.25/x86-fix-bad-pmd-ffff810000207xxx.patch b/queue-2.6.25/x86-fix-bad-pmd-ffff810000207xxx.patch
new file mode 100644 (file)
index 0000000..55245bd
--- /dev/null
@@ -0,0 +1,46 @@
+From stable-bounces@linux.kernel.org  Fri Jun  6 21:19:26 2008
+Date: Thu, 5 Jun 2008 15:09:02 +0100 (BST)
+From: Hugh Dickins <hugh@veritas.com>
+To: stable@kernel.org
+Message-ID: <Pine.LNX.4.64.0806051501160.7565@blonde.site>
+Cc: Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>
+Subject: x86: fix bad pmd ffff810000207xxx(9090909090909090)
+
+From: Hugh Dickins <hugh@veritas.com>
+
+upstream commit: 2884f110d5409714f3a04eeb6d2ecd77da66b242
+
+OGAWA Hirofumi and Fede have reported rare pmd_ERROR messages:
+mm/memory.c:127: bad pmd ffff810000207xxx(9090909090909090).
+
+Initialization's cleanup_highmap was leaving alignment filler
+behind in the pmd for MODULES_VADDR: when vmalloc's guard page
+would occupy a new page table, it's not allocated, and then
+module unload's vfree hits the bad 9090 pmd entry left over.
+
+Signed-off-by: Hugh Dickins <hugh@veritas.com>
+Signed-off-by: Ingo Molnar <mingo@elte.hu>
+
+Hugh notes:
+
+ It's actually not a serious problem, but it does look as if it's a
+ serious problem, so we should stamp it out.
+
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+
+---
+ arch/x86/mm/init_64.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/x86/mm/init_64.c
++++ b/arch/x86/mm/init_64.c
+@@ -192,7 +192,7 @@ void __init cleanup_highmap(void)
+       pmd_t *last_pmd = pmd + PTRS_PER_PMD;
+       for (; pmd < last_pmd; pmd++, vaddr += PMD_SIZE) {
+-              if (!pmd_present(*pmd))
++              if (pmd_none(*pmd))
+                       continue;
+               if (vaddr < (unsigned long) _text || vaddr > end)
+                       set_pmd(pmd, __pmd(0));