s390: fix futex_atomic_cmpxchg_inatomic
PATCH 1/1 s390: fix futex_atomic_cmpxchg_inatomic
From: Martin Schwidefsky <[email protected]>
[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 <[email protected]>
---
include/asm-s390/futex.h | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
include/asm-s390/futex.h +3 -2
@@ -98,9 +98,10 @@ futex_atomic_cmpxchg_inatomic(int __userif (!access_ok (VERIFY_WRITE , uaddr,sizeof (int )))return -EFAULT ; - asmvolatile (" cs %1,%4,0(%5)\n" + asmvolatile (" 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"