[kernel] r12517 - in dists/sid/linux-2.6/debian: . patches/bugfix/hppa patches/series

Dann Frazier dannf at alioth.debian.org
Tue Dec 23 23:08:57 UTC 2008


Author: dannf
Date: Tue Dec 23 23:08:56 2008
New Revision: 12517

Log:
* [hppa] disable UP-optimized flush_tlb_mm, fixing thread-related
  hangs. (closes: #478717)

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/hppa/
   dists/sid/linux-2.6/debian/patches/bugfix/hppa/parisc-disable-up-optimized-flush_tlb_mm.patch
   dists/sid/linux-2.6/debian/patches/series/13
Modified:
   dists/sid/linux-2.6/debian/changelog

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	(original)
+++ dists/sid/linux-2.6/debian/changelog	Tue Dec 23 23:08:56 2008
@@ -1,3 +1,10 @@
+linux-2.6 (2.6.26-13) UNRELEASED; urgency=low
+
+  * [hppa] disable UP-optimized flush_tlb_mm, fixing thread-related
+    hangs. (closes: #478717)
+
+ -- dann frazier <dannf at debian.org>  Tue, 23 Dec 2008 13:25:04 -0700
+
 linux-2.6 (2.6.26-12) unstable; urgency=high
 
   [ Ian Campbell ]

Added: dists/sid/linux-2.6/debian/patches/bugfix/hppa/parisc-disable-up-optimized-flush_tlb_mm.patch
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/bugfix/hppa/parisc-disable-up-optimized-flush_tlb_mm.patch	Tue Dec 23 23:08:56 2008
@@ -0,0 +1,36 @@
+From: Kyle McMartin <kyle at treachery.i.cabal.ca>
+Date: Tue, 23 Dec 2008 02:59:01 +0000 (-0500)
+Subject: parisc: disable UP-optimized flush_tlb_mm
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fkyle%2Fparisc-2.6.git;a=commitdiff_plain;h=378fe7c4cc619b561409206605c723c05358edac;hp=6c4dfa8f8bcf032137aacb3640d7dd9d75b2b607
+
+parisc: disable UP-optimized flush_tlb_mm
+
+flush_tlb_mm's "optimized" uniprocessor case of allocating a new
+context for userspace is exposing a race where we can suddely return
+to a syscall with the protection id and space id out of sync, trapping
+on the next userspace access.
+
+Debugged-by: James Bottomley <James.Bottomley at HansenPartnership.com>
+Tested-by: Helge Deller <deller at gmx.de>
+Signed-off-by: Kyle McMartin <kyle at mcmartin.ca>
+---
+
+Adjusted to apply to Debian's 2.6.26 by dann frazier <dannf at debian.org>
+
+diff -urpN linux-source-2.6.26.orig/include/asm-parisc/tlbflush.h linux-source-2.6.26/include/asm-parisc/tlbflush.h
+--- linux-source-2.6.26.orig/include/asm-parisc/tlbflush.h	2008-07-13 15:51:29.000000000 -0600
++++ linux-source-2.6.26/include/asm-parisc/tlbflush.h	2008-12-23 12:32:30.000000000 -0700
+@@ -44,9 +44,12 @@ static inline void flush_tlb_mm(struct m
+ {
+ 	BUG_ON(mm == &init_mm); /* Should never happen */
+ 
+-#ifdef CONFIG_SMP
++#if 1 || defined(CONFIG_SMP)
+ 	flush_tlb_all();
+ #else
++	/* FIXME: currently broken, causing space id and protection ids
++	 *  to go out of sync, resulting in faults on userspace accesses.
++	 */
+ 	if (mm) {
+ 		if (mm->context != 0)
+ 			free_sid(mm->context);

Added: dists/sid/linux-2.6/debian/patches/series/13
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/series/13	Tue Dec 23 23:08:56 2008
@@ -0,0 +1 @@
++ bugfix/hppa/parisc-disable-up-optimized-flush_tlb_mm.patch



More information about the Kernel-svn-changes mailing list