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 009f5eb111254028125104ccbf25566d2d72c5fa..34d5fa7b01b50e6b31a805503305a85993b90cb8 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 0c1a0ff0a558bda9a389091f86628fb8b0f825bc..6a2ac257d98f280669c29e0b8701144f635c9d3c 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;