s390/signal: add sparse annotations
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 30 Oct 2014 12:45:43 +0000 (13:45 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 3 Nov 2014 12:30:36 +0000 (13:30 +0100)
Fix the following warnings from the sparse code checker:

arch/s390/kernel/signal.c:374:38: warning: cast removes address space of expression
arch/s390/kernel/signal.c:374:65: warning: incorrect type in initializer (different address spaces)
arch/s390/kernel/signal.c:374:65:    expected unsigned short [noderef] [usertype] <asn:1>*svc
arch/s390/kernel/signal.c:374:65:    got void *

arch/s390/kernel/compat_signal.c:437:38: warning: cast removes address space of expression
arch/s390/kernel/compat_signal.c:437:65: warning: incorrect type in initializer (different address spaces)
arch/s390/kernel/compat_signal.c:437:65:    expected unsigned short [noderef] [usertype] <asn:1>*svc
arch/s390/kernel/compat_signal.c:437:65:    got void *

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/compat_signal.c
arch/s390/kernel/signal.c

index 009f5eb..34d5fa7 100644 (file)
@@ -434,7 +434,7 @@ static int setup_frame32(struct ksignal *ksig, sigset_t *set,
                        ksig->ka.sa.sa_restorer | PSW32_ADDR_AMODE;
        } else {
                /* Signal frames without vectors registers are short ! */
-               __u16 __user *svc = (void *) frame + frame_size - 2;
+               __u16 __user *svc = (void __user *) frame + frame_size - 2;
                if (__put_user(S390_SYSCALL_OPCODE | __NR_sigreturn, svc))
                        return -EFAULT;
                restorer = (unsigned long __force) svc | PSW32_ADDR_AMODE;
index 0c1a0ff..6a2ac25 100644 (file)
@@ -371,7 +371,7 @@ static int setup_frame(int sig, struct k_sigaction *ka,
                restorer = (unsigned long) ka->sa.sa_restorer | PSW_ADDR_AMODE;
        } else {
                /* Signal frame without vector registers are short ! */
-               __u16 __user *svc = (void *) frame + frame_size - 2;
+               __u16 __user *svc = (void __user *) frame + frame_size - 2;
                if (__put_user(S390_SYSCALL_OPCODE | __NR_sigreturn, svc))
                        return -EFAULT;
                restorer = (unsigned long) svc | PSW_ADDR_AMODE;