summary refs log tree commit diff
path: root/arch/mips
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/mips
parentbde208d2e10b8e8cf01cadadf203f5abcf1e4fe2 (diff)
downloadlinux-056a060803cff0d93b13cc2c5cf74909db24a0b9.tar.gz
mips: switch to generic compat rt_sigprocmask()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/mips')
-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)
 {