mips: switch to generic compat rt_sigprocmask()
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 25 Dec 2012 18:55:50 +0000 (13:55 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 3 Feb 2013 23:32:58 +0000 (18:32 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/mips/Kconfig
arch/mips/kernel/scall64-n32.S
arch/mips/kernel/scall64-o32.S
arch/mips/kernel/signal32.c

index a8a41e0..55a2dd7 100644 (file)
@@ -42,6 +42,7 @@ config MIPS
        select MODULES_USE_ELF_REL if MODULES
        select MODULES_USE_ELF_RELA if MODULES && 64BIT
        select GENERIC_SIGALTSTACK
+       select GENERIC_COMPAT_RT_SIGPROCMASK
 
 menu "Machine selection"
 
index ab34b32..14da568 100644 (file)
@@ -118,7 +118,7 @@ EXPORT(sysn32_call_table)
        PTR     sys_munmap
        PTR     sys_brk
        PTR     sys_32_rt_sigaction
-       PTR     sys_32_rt_sigprocmask
+       PTR     compat_sys_rt_sigprocmask
        PTR     compat_sys_ioctl                /* 6015 */
        PTR     sys_pread64
        PTR     sys_pwrite64
index 144d904..06fae3f 100644 (file)
@@ -387,7 +387,7 @@ sys_call_table:
        PTR     sys_prctl
        PTR     sys32_rt_sigreturn
        PTR     sys_32_rt_sigaction
-       PTR     sys_32_rt_sigprocmask           /* 4195 */
+       PTR     compat_sys_rt_sigprocmask       /* 4195 */
        PTR     sys_32_rt_sigpending
        PTR     compat_sys_rt_sigtimedwait
        PTR     sys_32_rt_sigqueueinfo
index ff6146d..e2f0728 100644 (file)
@@ -614,28 +614,6 @@ out:
        return ret;
 }
 
-SYSCALL_DEFINE4(32_rt_sigprocmask, int, how, compat_sigset_t __user *, set,
-       compat_sigset_t __user *, oset, unsigned int, sigsetsize)
-{
-       sigset_t old_set, new_set;
-       int ret;
-       mm_segment_t old_fs = get_fs();
-
-       if (set && get_sigset(&new_set, set))
-               return -EFAULT;
-
-       set_fs(KERNEL_DS);
-       ret = sys_rt_sigprocmask(how, set ? (sigset_t __user *)&new_set : NULL,
-                                oset ? (sigset_t __user *)&old_set : NULL,
-                                sigsetsize);
-       set_fs(old_fs);
-
-       if (!ret && oset && put_sigset(&old_set, oset))
-               return -EFAULT;
-
-       return ret;
-}
-
 SYSCALL_DEFINE2(32_rt_sigpending, compat_sigset_t __user *, uset,
        unsigned int, sigsetsize)
 {