parisc: switch to generic compat rt_sigpending()
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 25 Dec 2012 19:58:56 +0000 (14:58 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 3 Feb 2013 23:16:06 +0000 (18:16 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/parisc/Kconfig
arch/parisc/kernel/signal32.c
arch/parisc/kernel/syscall_table.S

index 0a8bada..8755f8e 100644 (file)
@@ -25,6 +25,7 @@ config PARISC
        select CLONE_BACKWARDS
        select GENERIC_SIGALTSTACK
        select GENERIC_COMPAT_RT_SIGPROCMASK
+       select GENERIC_COMPAT_RT_SIGPENDING
 
        help
          The PA-RISC microprocessor is designed by Hewlett-Packard and used
index 49cb234..1d41848 100644 (file)
@@ -60,31 +60,6 @@ sigset_64to32(compat_sigset_t *s32, sigset_t *s64)
        s32->sig[1] = (s64->sig[0] >> 32) & 0xffffffffUL;
 }
 
-static int
-put_sigset32(compat_sigset_t __user *up, sigset_t *set, size_t sz)
-{
-       compat_sigset_t s;
-
-       if (sz != sizeof *set)
-               return -EINVAL;
-       sigset_64to32(&s, set);
-
-       return copy_to_user(up, &s, sizeof s);
-}
-
-int sys32_rt_sigpending(compat_sigset_t __user *uset, unsigned int sigsetsize)
-{
-       int ret;
-       sigset_t set;
-
-       KERNEL_SYSCALL(ret, sys_rt_sigpending, (sigset_t __user *)&set, sigsetsize);
-
-       if (!ret && put_sigset32(uset, &set, sigsetsize))
-               return -EFAULT;
-
-       return ret;
-}
-
 long
 sys32_rt_sigaction(int sig, const struct sigaction32 __user *act, struct sigaction32 __user *oact,
                  size_t sigsetsize)
index 3ea2fe2..3b083dd 100644 (file)
        ENTRY_SAME(rt_sigreturn_wrapper)
        ENTRY_DIFF(rt_sigaction)
        ENTRY_COMP(rt_sigprocmask)      /* 175 */
-       ENTRY_DIFF(rt_sigpending)
+       ENTRY_COMP(rt_sigpending)
        ENTRY_COMP(rt_sigtimedwait)
        /* even though the struct siginfo_t is different, it appears like
         * all the paths use values which should be same wide and narrow.