r2428 - in trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian: . patches patches/series

Frederik Schüler fschueler-guest@costa.debian.org
Sun, 30 Jan 2005 17:30:56 +0100


Author: fschueler-guest
Date: 2005-01-30 17:30:55 +0100 (Sun, 30 Jan 2005)
New Revision: 2428

Added:
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/amd64-ia32-vsyscall-fix.dpatch
Modified:
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/changelog
   trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/series/2.6.10-5
Log:
Backport fix for amd64 32bit emulation kernel crash

Modified: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/changelog
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/changelog	2005-01-30 06:05:15 UTC (rev 2427)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/changelog	2005-01-30 16:30:55 UTC (rev 2428)
@@ -11,8 +11,11 @@
   * ia64-unwind-fix.dpatch
     unw_unwind_to_user sanity check
 
- -- Simon Horman <horms@debian.org>  Fri, 21 Jan 2005 12:43:05 +0900
+  * amd64-ia32-vsyscall-fix.dpatch
+    fix crash in 32bit emulation. Backport from 2.6.11-rc2 (Frederik Schüler)
 
+ -- Frederik Schüler <fschueler@gmx.net>  Sun, 30 Jan 2005 02:49:14 +0100
+
 kernel-source-2.6.10 (2.6.10-4) unstable; urgency=low
 
   * Replace smbfs-overflow-fixes.patch with a newer version from 2.6.10-ac

Added: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/amd64-ia32-vsyscall-fix.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/amd64-ia32-vsyscall-fix.dpatch	2005-01-30 06:05:15 UTC (rev 2427)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/amd64-ia32-vsyscall-fix.dpatch	2005-01-30 16:30:55 UTC (rev 2428)
@@ -0,0 +1,57 @@
+#! /bin/sh -e 
+## <PATCHNAME>.dpatch by <PATCH_AUTHOR@EMAI>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: fix crash on get_user_pages of ia32 vsyscall page
+## DP: Patch author: Roland McGrath <roland@redhat.com>
+## DP: Upstream status: backport from 2.6.11-rc2
+
+. $(dirname $0)/DPATCH
+
+@DPATCH@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+#   2005/01/16 10:09:59-08:00 roland@redhat.com 
+#   [PATCH] x86_64: fix crash on get_user_pages of ia32 vsyscall page before it's faulted in
+#   
+#   God invented symbolic names to help you.  Repeating magic constants by hand
+#   is begging to lose, especially when you get them wrong.  Don't be a loser.
+#   
+#   [ Editor's hint: 0xfffe000 vs 0xffffe000 ]
+#   
+#   Signed-off-by: Roland McGrath <roland@redhat.com>
+#   Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+# 
+# arch/x86_64/mm/fault.c
+#   2005/01/15 16:00:00-08:00 roland@redhat.com +1 -1
+#   x86_64: fix crash on get_user_pages of ia32 vsyscall page before it's faulted in
+# 
+# arch/x86_64/mm/init.c
+#   2005/01/15 16:00:00-08:00 roland@redhat.com +1 -1
+#   x86_64: fix crash on get_user_pages of ia32 vsyscall page before it's faulted in
+# 
+diff -Nru a/arch/x86_64/mm/fault.c b/arch/x86_64/mm/fault.c
+--- a/arch/x86_64/mm/fault.c	2005-01-29 17:34:25 -08:00
++++ b/arch/x86_64/mm/fault.c	2005-01-29 17:34:25 -08:00
+@@ -462,7 +462,7 @@
+ #ifdef CONFIG_IA32_EMULATION
+ 	/* 32bit vsyscall. map on demand. */
+ 	if (test_thread_flag(TIF_IA32) &&
+-	    address >= 0xffffe000 && address < 0xffffe000 + PAGE_SIZE) { 
++	    address >= VSYSCALL32_BASE && address < VSYSCALL32_END) {
+ 		if (map_syscall32(mm, address) < 0)
+ 			goto out_of_memory2;
+ 		return;
+diff -Nru a/arch/x86_64/mm/init.c b/arch/x86_64/mm/init.c
+--- a/arch/x86_64/mm/init.c	2005-01-29 17:34:25 -08:00
++++ b/arch/x86_64/mm/init.c	2005-01-29 17:34:25 -08:00
+@@ -605,7 +605,7 @@
+ 	if (test_tsk_thread_flag(tsk, TIF_IA32)) {
+ 		/* lookup code assumes the pages are present. set them up
+ 		   now */
+-		if (__map_syscall32(tsk->mm, 0xfffe000) < 0)
++		if (__map_syscall32(tsk->mm, VSYSCALL32_BASE) < 0)
+ 			return NULL;
+ 		return &gate32_vma;
+ 	}

Modified: trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/series/2.6.10-5
===================================================================
--- trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/series/2.6.10-5	2005-01-30 06:05:15 UTC (rev 2427)
+++ trunk/kernel/source/kernel-source-2.6.10-2.6.10/debian/patches/series/2.6.10-5	2005-01-30 16:30:55 UTC (rev 2428)
@@ -1,4 +1,5 @@
 + scsi-ioctl.dpatch
 + ia64-ptrace-fixes.dpatch
 + ia64-unwind-fix.dpatch
++ amd64-ia32-vsyscall-fix.dpatch