mips: switch to generic compat rt_sigqueueinfo()
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 25 Dec 2012 20:49:15 +0000 (15:49 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 3 Feb 2013 23:32:59 +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 475e44c8fd2e6900fd5c469070256c96ad6b7c8b..b1e885f317037f5dc5bda81e91446f86ceac6263 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_SIGQUEUEINFO
        select GENERIC_COMPAT_RT_SIGPROCMASK
        select GENERIC_COMPAT_RT_SIGPENDING
 
index 5ab549b264b7d80ee9d9629ff6cc855238dc2748..491c389b897fda916badc77395e0339b49eaac7b 100644 (file)
@@ -231,7 +231,7 @@ EXPORT(sysn32_call_table)
        PTR     sys_capset
        PTR     compat_sys_rt_sigpending        /* 6125 */
        PTR     compat_sys_rt_sigtimedwait
-       PTR     sys_32_rt_sigqueueinfo
+       PTR     compat_sys_rt_sigqueueinfo
        PTR     compat_sys_rt_sigsuspend
        PTR     compat_sys_sigaltstack
        PTR     compat_sys_utime                /* 6130 */
index 22fd9c13f37b4401ba2b72eb2a7cf8ce127c73d3..8362cc8311512be5aae101da37fdcd67b9300c5f 100644 (file)
@@ -390,7 +390,7 @@ sys_call_table:
        PTR     compat_sys_rt_sigprocmask       /* 4195 */
        PTR     compat_sys_rt_sigpending
        PTR     compat_sys_rt_sigtimedwait
-       PTR     sys_32_rt_sigqueueinfo
+       PTR     compat_sys_rt_sigqueueinfo
        PTR     compat_sys_rt_sigsuspend
        PTR     sys_32_pread                    /* 4200 */
        PTR     sys_32_pwrite
index a62b918d683544103beaaf3672f2d69bae559e30..b4f0e714cf37799bd0aeb6984f153fd441232f73 100644 (file)
@@ -614,22 +614,6 @@ out:
        return ret;
 }
 
-SYSCALL_DEFINE3(32_rt_sigqueueinfo, int, pid, int, sig,
-       compat_siginfo_t __user *, uinfo)
-{
-       siginfo_t info;
-       int ret;
-       mm_segment_t old_fs = get_fs();
-
-       if (copy_from_user(&info, uinfo, 3*sizeof(int)) ||
-           copy_from_user(info._sifields._pad, uinfo->_sifields._pad, SI_PAD_SIZE))
-               return -EFAULT;
-       set_fs(KERNEL_DS);
-       ret = sys_rt_sigqueueinfo(pid, sig, (siginfo_t __user *)&info);
-       set_fs(old_fs);
-       return ret;
-}
-
 static int signal32_init(void)
 {
        if (cpu_has_fpu) {