s390/compat: fix setup_frame32
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Fri, 6 Apr 2018 16:10:04 +0000 (18:10 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 10 Apr 2018 05:38:54 +0000 (07:38 +0200)
Git commit c60a03fee0e5 ("s390: switch to {get,put}_compat_sigset()")
contains a typo and now copies the wrong pointer to user space.
Use the correct pointer instead.

Reported-and-tested-by: Stefan Liebler <stli@linux.vnet.ibm.com>
Fixes: c60a03fee0e5 ("s390: switch to {get,put}_compat_sigset()")
Cc: <stable@vger.kernel.org> # v4.15+
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/compat_signal.c

index 18c1eeb..6f2a193 100644 (file)
@@ -279,7 +279,7 @@ static int setup_frame32(struct ksignal *ksig, sigset_t *set,
        if (put_compat_sigset((compat_sigset_t __user *)frame->sc.oldmask,
                              set, sizeof(compat_sigset_t)))
                return -EFAULT;
-       if (__put_user(ptr_to_compat(&frame->sc), &frame->sc.sregs))
+       if (__put_user(ptr_to_compat(&frame->sregs), &frame->sc.sregs))
                return -EFAULT;
 
        /* Store registers needed to create the signal frame */