s390/futex: add missing EX_TABLE entry to __futex_atomic_op()
authorHeiko Carstens <hca@linux.ibm.com>
Tue, 18 Oct 2022 11:44:11 +0000 (13:44 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Nov 2022 14:59:13 +0000 (23:59 +0900)
commit a262d3ad6a433e4080cecd0a8841104a5906355e upstream.

For some exception types the instruction address points behind the
instruction that caused the exception. Take that into account and add
the missing exception table entry.

Cc: <stable@vger.kernel.org>
Reviewed-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/s390/include/asm/futex.h

index c22debf..bf15767 100644 (file)
@@ -16,7 +16,8 @@
                "3: jl    1b\n"                                         \
                "   lhi   %0,0\n"                                       \
                "4: sacf  768\n"                                        \
-               EX_TABLE(0b,4b) EX_TABLE(2b,4b) EX_TABLE(3b,4b)         \
+               EX_TABLE(0b,4b) EX_TABLE(1b,4b)                         \
+               EX_TABLE(2b,4b) EX_TABLE(3b,4b)                         \
                : "=d" (ret), "=&d" (oldval), "=&d" (newval),           \
                  "=m" (*uaddr)                                         \
                : "0" (-EFAULT), "d" (oparg), "a" (uaddr),              \