From: Chris Wright Date: Sat, 22 Mar 2008 18:29:31 +0000 (-0700) Subject: Add S390 futex fix X-Git-Tag: v2.6.24.4~1 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=3a5902a34021d83faa50858be8e9baea627bf27d;p=thirdparty%2Fkernel%2Fstable-queue.git Add S390 futex fix --- diff --git a/review-2.6.24/s390-futex-let-futex_atomic_cmpxchg_pt-survive-early-functional-tests.patch b/review-2.6.24/s390-futex-let-futex_atomic_cmpxchg_pt-survive-early-functional-tests.patch new file mode 100644 index 00000000000..86c3ae0a1dd --- /dev/null +++ b/review-2.6.24/s390-futex-let-futex_atomic_cmpxchg_pt-survive-early-functional-tests.patch @@ -0,0 +1,35 @@ +From 504e75d0ed3389747e40a4aaa4b1f4e569576665 Mon Sep 17 00:00:00 2001 +From: Heiko Carstens +Date: Thu, 20 Mar 2008 17:33:38 +0100 +Message-ID: <20080322161918.GA6367@osiris.boeblingen.de.ibm.com> +Subject: S390 futex: let futex_atomic_cmpxchg_pt survive early functional tests. + +a0c1e9073ef7428a14309cba010633a6cd6719ea "futex: runtime enable pi and +robust functionality" introduces a test wether futex in atomic stuff +works or not. +It does that by writing to address 0 of the kernel address space. This +will crash on older machines where addressing mode switching is enabled +but where the mvcos instruction is not available. Page table walking is +done by hand and therefore the code tries to access current->mm which +is NULL. +Therefore add an extra check, so we survive the early test. + +Signed-off-by: Heiko Carstens +Signed-off-by: Martin Schwidefsky +Cc: Thomas Gleixner +Signed-off-by: Chris Wright +--- + arch/s390/lib/uaccess_pt.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/arch/s390/lib/uaccess_pt.c ++++ b/arch/s390/lib/uaccess_pt.c +@@ -406,6 +406,8 @@ int futex_atomic_cmpxchg_pt(int __user * + { + int ret; + ++ if (!current->mm) ++ return -EFAULT; + spin_lock(¤t->mm->page_table_lock); + uaddr = (int __user *) __dat_user_addr((unsigned long) uaddr); + if (!uaddr) { diff --git a/review-2.6.24/series b/review-2.6.24/series index 8c3e9d15a46..ec01723d144 100644 --- a/review-2.6.24/series +++ b/review-2.6.24/series @@ -75,3 +75,4 @@ scsi-advansys-fix-bug-in-advloadmicrocode.patch bluetooth-fix-bugs-in-previous-conn-add-del-workqueue-changes.patch relay-fix-subbuf_splice_actor-adding-too-many-pages.patch slab-numa-slab-allocator-migration-bugfix.patch +s390-futex-let-futex_atomic_cmpxchg_pt-survive-early-functional-tests.patch