[kernel] r15478 - in dists/lenny/linux-2.6/debian: . patches/bugfix/sparc patches/series
Ben Hutchings
benh at alioth.debian.org
Sat Apr 3 20:34:40 UTC 2010
Author: benh
Date: Sat Apr 3 20:34:35 2010
New Revision: 15478
Log:
[sparc64] Fix definition of VMEMMAP_SIZE (Closes: #509202)
Added:
dists/lenny/linux-2.6/debian/patches/bugfix/sparc/sparc64-Fix-definition-of-VMEMMAP_SIZE.patch
Modified:
dists/lenny/linux-2.6/debian/changelog
dists/lenny/linux-2.6/debian/patches/series/23
Modified: dists/lenny/linux-2.6/debian/changelog
==============================================================================
--- dists/lenny/linux-2.6/debian/changelog Sat Apr 3 19:20:20 2010 (r15477)
+++ dists/lenny/linux-2.6/debian/changelog Sat Apr 3 20:34:35 2010 (r15478)
@@ -2,6 +2,9 @@
[ dann frazier ]
* x86: check boundary in setup_node_bootmem() (Closes: 569704)
+
+ [ Ben Hutchings ]
+ * [sparc64] Fix definition of VMEMMAP_SIZE (Closes: #509202)
[ maximilian attems ]
* openvz: printk_cpu have to be "cleared" in __vprintk (v2)
Added: dists/lenny/linux-2.6/debian/patches/bugfix/sparc/sparc64-Fix-definition-of-VMEMMAP_SIZE.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/lenny/linux-2.6/debian/patches/bugfix/sparc/sparc64-Fix-definition-of-VMEMMAP_SIZE.patch Sat Apr 3 20:34:35 2010 (r15478)
@@ -0,0 +1,33 @@
+From: David S. Miller <davem at davemloft.net>
+Date: Mon, 23 Nov 2009 16:38:56 -0800
+Subject: [PATCH] sparc64: Fix definition of VMEMMAP_SIZE.
+
+This was the cause of various boot failures on V480, V880, etc.
+systems.
+
+Kernel image memory was being overwritten because the vmemmap[]
+array was being sized to small. So if you had physical memory
+addresses past a certain point, the early bootup would spam
+all over variables in the kernel data section.
+
+The vmemmap mappings map page structs, not page struct pointers.
+And that was the key thinko in the macro definition.
+
+This was fixable thanks to the help, reports, and tireless patience
+of Hermann Lauer.
+
+Reported-by: Hermann Lauer <Hermann.Lauer at iwr.uni-heidelberg.de>
+Signed-off-by: David S. Miller <davem at davemloft.net>
+[bwh: Backported to 2.6.26]
+
+--- a/arch/sparc64/mm/init.c
++++ b/arch/sparc64/mm/init.c
+@@ -2098,7 +2098,7 @@
+ #define VMEMMAP_ALIGN(x) (((x)+VMEMMAP_CHUNK-1UL)&VMEMMAP_CHUNK_MASK)
+
+ #define VMEMMAP_SIZE ((((1UL << MAX_PHYSADDR_BITS) >> PAGE_SHIFT) * \
+- sizeof(struct page *)) >> VMEMMAP_CHUNK_SHIFT)
++ sizeof(struct page)) >> VMEMMAP_CHUNK_SHIFT)
+ unsigned long vmemmap_table[VMEMMAP_SIZE];
+
+ int __meminit vmemmap_populate(struct page *start, unsigned long nr, int node)
Modified: dists/lenny/linux-2.6/debian/patches/series/23
==============================================================================
--- dists/lenny/linux-2.6/debian/patches/series/23 Sat Apr 3 19:20:20 2010 (r15477)
+++ dists/lenny/linux-2.6/debian/patches/series/23 Sat Apr 3 20:34:35 2010 (r15478)
@@ -1 +1,2 @@
+ bugfix/x86/check-boundary-in-setup_node_bootmem.patch
++ bugfix/sparc/sparc64-Fix-definition-of-VMEMMAP_SIZE.patch
More information about the Kernel-svn-changes
mailing list