r4236 - in dists/trunk/linux-2.6/debian: . patches-debian patches-debian/series

Frederik Schüler fschueler-guest at costa.debian.org
Sun Sep 18 17:02:48 UTC 2005


Author: fschueler-guest
Date: 2005-09-18 17:02:47 +0000 (Sun, 18 Sep 2005)
New Revision: 4236

Added:
   dists/trunk/linux-2.6/debian/patches-debian/amd64-tlb-flush-sigsegv-fix.patch
Modified:
   dists/trunk/linux-2.6/debian/changelog
   dists/trunk/linux-2.6/debian/patches-debian/series/2.6.13-1
Log:
Added amd64-tlb-flush-sigsegv-fix.patch: backport from git to fix random segfaults on smp systems


Modified: dists/trunk/linux-2.6/debian/changelog
===================================================================
--- dists/trunk/linux-2.6/debian/changelog	2005-09-17 19:34:29 UTC (rev 4235)
+++ dists/trunk/linux-2.6/debian/changelog	2005-09-18 17:02:47 UTC (rev 4236)
@@ -17,7 +17,9 @@
     - md, dm updates (closes: #317787)
 
   [ Frederik Schüler ]
-  * Added class and longclass descriptions for amd64 flavours.
+  * [amd64] Added class and longclass descriptions for amd64 flavours.
+  * [amd64] add amd64-tlb-flush-sigsegv-fix.patch: disable tlb flush 
+    filtering on smp systems to workaround processor errata.
   * Added patch-2.6.13.1:
     - raw_sendmsg DoS (CAN-2005-2492)
     - 32bit sendmsg() flaw (CAN-2005-2490)

Added: dists/trunk/linux-2.6/debian/patches-debian/amd64-tlb-flush-sigsegv-fix.patch
===================================================================
--- dists/trunk/linux-2.6/debian/patches-debian/amd64-tlb-flush-sigsegv-fix.patch	2005-09-17 19:34:29 UTC (rev 4235)
+++ dists/trunk/linux-2.6/debian/patches-debian/amd64-tlb-flush-sigsegv-fix.patch	2005-09-18 17:02:47 UTC (rev 4236)
@@ -0,0 +1,47 @@
+From: Linus Torvalds <torvalds at g5.osdl.org>
+Date: Sat, 17 Sep 2005 22:41:04 +0000 (-0700)
+Subject:     x86-64/smp: fix random SIGSEGV issues
+X-Git-Url: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=bc5e8fdfc622b03acf5ac974a1b8b26da6511c99
+
+  x86-64/smp: fix random SIGSEGV issues
+  
+  They seem to have been due to AMD errata 63/122; the fix is to disable
+  TLB flush filtering in SMP configurations.
+  
+  Confirmed to fix the problem by Andrew Walrond <andrew at walrond.org>
+  
+  [ Let's see if we'll have a better fix eventually, this is the Q&D
+    "let's get this fixed and out there" version ]
+  
+  Signed-off-by: Linus Torvalds <torvalds at osdl.org>
+---
+
+--- a/arch/x86_64/kernel/setup.c
++++ b/arch/x86_64/kernel/setup.c
+@@ -793,11 +793,26 @@
+ #endif
+ }
+ 
++#define HWCR 0xc0010015
++
+ static int __init init_amd(struct cpuinfo_x86 *c)
+ {
+ 	int r;
+ 	int level;
+ 
++#ifdef CONFIG_SMP
++	unsigned long value;
++
++	// Disable TLB flush filter by setting HWCR.FFDIS:
++	// bit 6 of msr C001_0015
++	//
++	// Errata 63 for SH-B3 steppings
++	// Errata 122 for all(?) steppings
++	rdmsrl(HWCR, value);
++	value |= 1 << 6;
++	wrmsrl(HWCR, value);
++#endif
++
+ 	/* Bit 31 in normal CPUID used for nonstandard 3DNow ID;
+ 	   3DNow is IDd by bit 31 in extended CPUID (1*32+31) anyway */
+ 	clear_bit(0*32+31, &c->x86_capability);

Modified: dists/trunk/linux-2.6/debian/patches-debian/series/2.6.13-1
===================================================================
--- dists/trunk/linux-2.6/debian/patches-debian/series/2.6.13-1	2005-09-17 19:34:29 UTC (rev 4235)
+++ dists/trunk/linux-2.6/debian/patches-debian/series/2.6.13-1	2005-09-18 17:02:47 UTC (rev 4236)
@@ -22,3 +22,4 @@
 + version.patch
 + powerpc-mv643xx-hotplug-support.patch
 + patch-2.6.13.2
++ amd64-tlb-flush-sigsegv-fix.patch




More information about the Kernel-svn-changes mailing list