m68knommu: fix sparse warnings in signal code
authorGreg Ungerer <gerg@linux-m68k.org>
Tue, 15 Sep 2020 05:16:49 +0000 (15:16 +1000)
committerGreg Ungerer <gerg@linux-m68k.org>
Mon, 5 Oct 2020 11:51:31 +0000 (21:51 +1000)
Commit 858b810bf63f ("m68knommu: switch to using asm-generic/uaccess.h")
cleaned up a number of sparse warnings associated with lack of __user
annotations. It also uncovered a couple of more in the signal handling
code:

arch/m68k/kernel/signal.c:923:16:    expected char [noderef] __user *__x
arch/m68k/kernel/signal.c:923:16:    got void *
arch/m68k/kernel/signal.c:1007:16: warning: incorrect type in initializer (different address spaces)
arch/m68k/kernel/signal.c:1007:16:    expected char [noderef] __user *__x
arch/m68k/kernel/signal.c:1007:16:    got void *
arch/m68k/kernel/signal.c:1132:6: warning: symbol 'do_notify_resume' was not declared. Should it be static?

These are specific to a non-MMU configuration. Fix these inserting the
correct __user annotations as required.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
arch/m68k/kernel/signal.c

index a98fca97707375aab338e9f06ab6e9611da97bdf..a85f59bc1c356c47916442b722fff3009bb45dd1 100644 (file)
@@ -920,7 +920,8 @@ static int setup_frame(struct ksignal *ksig, sigset_t *set,
        err |= __put_user(0x70004e40 + (__NR_sigreturn << 16),
                          (long __user *)(frame->retcode));
 #else
-       err |= __put_user((void *) ret_from_user_signal, &frame->pretcode);
+       err |= __put_user((long) ret_from_user_signal,
+                         (long __user *) &frame->pretcode);
 #endif
 
        if (err)
@@ -1004,7 +1005,8 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set,
        err |= __put_user(0x4e40, (short __user *)(frame->retcode + 4));
 #endif
 #else
-       err |= __put_user((void *) ret_from_user_rt_signal, &frame->pretcode);
+       err |= __put_user((long) ret_from_user_rt_signal,
+                         (long __user *) &frame->pretcode);
 #endif /* CONFIG_MMU */
 
        if (err)