aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-12-25 13:55:50 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2013-02-03 18:32:58 -0500
commit056a060803cff0d93b13cc2c5cf74909db24a0b9 (patch)
tree753162e177c54ffd36aed02086f91642b42145bc /arch
parentswitch mips to generic rt_sigsuspend(), make it unconditional (diff)
downloadlinux-dev-056a060803cff0d93b13cc2c5cf74909db24a0b9.tar.xz
linux-dev-056a060803cff0d93b13cc2c5cf74909db24a0b9.zip
mips: switch to generic compat rt_sigprocmask()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/Kconfig1
-rw-r--r--arch/mips/kernel/scall64-n32.S2
-rw-r--r--arch/mips/kernel/scall64-o32.S2
-rw-r--r--arch/mips/kernel/signal32.c22
4 files changed, 3 insertions, 24 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index a8a41e091d04..55a2dd700237 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -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"
diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S
index ab34b32f1e34..14da5687746c 100644
--- a/arch/mips/kernel/scall64-n32.S
+++ b/arch/mips/kernel/scall64-n32.S
@@ -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
diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S
index 144d904cdb22..06fae3f39407 100644
--- a/arch/mips/kernel/scall64-o32.S
+++ b/arch/mips/kernel/scall64-o32.S
@@ -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
diff --git a/arch/mips/kernel/signal32.c b/arch/mips/kernel/signal32.c
index ff6146dddf5f..e2f0728c8cc0 100644
--- a/arch/mips/kernel/signal32.c
+++ b/arch/mips/kernel/signal32.c
@@ -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)
{