powerpc: switch to generic old sigsuspend
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 25 Dec 2012 21:23:09 +0000 (16:23 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 3 Feb 2013 23:16:09 +0000 (18:16 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/powerpc/Kconfig
arch/powerpc/include/asm/systbl.h
arch/powerpc/kernel/signal_32.c

index b23d707..09b177b 100644 (file)
@@ -148,6 +148,7 @@ config PPC
        select GENERIC_COMPAT_RT_SIGQUEUEINFO
        select GENERIC_COMPAT_RT_SIGPROCMASK
        select GENERIC_COMPAT_RT_SIGPENDING
+       select OLD_SIGSUSPEND
 
 config EARLY_PRINTK
        bool
index 97909d3..66a21c1 100644 (file)
@@ -75,6 +75,7 @@ SYSCALL_SPU(sgetmask)
 COMPAT_SYS_SPU(ssetmask)
 SYSCALL_SPU(setreuid)
 SYSCALL_SPU(setregid)
+#define compat_sys_sigsuspend sys_sigsuspend
 SYS32ONLY(sigsuspend)
 COMPAT_SYS(sigpending)
 COMPAT_SYS_SPU(sethostname)
index 8a5ea4a..488a7c5 100644 (file)
@@ -56,7 +56,6 @@
 #undef DEBUG_SIG
 
 #ifdef CONFIG_PPC64
-#define sys_sigsuspend compat_sys_sigsuspend
 #define sys_rt_sigreturn       compat_sys_rt_sigreturn
 #define sys_sigaction  compat_sys_sigaction
 #define sys_swapcontext        compat_sys_swapcontext
@@ -238,16 +237,6 @@ static inline int restore_general_regs(struct pt_regs *regs,
 
 #endif /* CONFIG_PPC64 */
 
-/*
- * Atomically swap in the new signal mask, and wait for a signal.
- */
-long sys_sigsuspend(old_sigset_t mask)
-{
-       sigset_t blocked;
-       siginitset(&blocked, mask);
-       return sigsuspend(&blocked);
-}
-
 long sys_sigaction(int sig, struct old_sigaction __user *act,
                struct old_sigaction __user *oact)
 {