Messages in this thread Patch in this message | | | Date | Mon, 10 Jul 2006 11:28:05 +0200 | From | Martin Schwidefsky <> | Subject | [patch] s390: fix futex_atomic_cmpxchg_inatomic |
| |
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
[S390] fix futex_atomic_cmpxchg_inatomic
futex_atomic_cmpxchg_inatomic has the same bug as the other atomic futex operations: the operation needs to be done in the user address space, not the kernel address space. Add the missing sacf 256 & sacf 0.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> ---
include/asm-s390/futex.h | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
diff -urpN linux-2.6/include/asm-s390/futex.h linux-2.6-patched/include/asm-s390/futex.h --- linux-2.6/include/asm-s390/futex.h 2006-06-18 03:49:35.000000000 +0200 +++ linux-2.6-patched/include/asm-s390/futex.h 2006-07-10 10:33:42.000000000 +0200 @@ -98,9 +98,10 @@ futex_atomic_cmpxchg_inatomic(int __user if (! access_ok (VERIFY_WRITE, uaddr, sizeof(int))) return -EFAULT; - asm volatile(" cs %1,%4,0(%5)\n" + asm volatile(" sacf 256\n" + " cs %1,%4,0(%5)\n" "0: lr %0,%1\n" - "1:\n" + "1: sacf 0\n" #ifndef __s390x__ ".section __ex_table,\"a\"\n" " .align 4\n" - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |