aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-12-25 16:23:09 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2013-02-03 18:16:09 -0500
commit0980caea80ffffbaf78112621edd0c3553f44ef0 (patch)
treef8660c0e4192c875e6777e3c20f0bc153112a612 /arch/powerpc
parent309e44b39e355770ec0cec7df26071beb298e7f2 (diff)
powerpc: switch to generic old sigsuspend
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/Kconfig1
-rw-r--r--arch/powerpc/include/asm/systbl.h1
-rw-r--r--arch/powerpc/kernel/signal_32.c11
3 files changed, 2 insertions, 11 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index b23d70795409..09b177bdef66 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -148,6 +148,7 @@ config PPC
148 select GENERIC_COMPAT_RT_SIGQUEUEINFO 148 select GENERIC_COMPAT_RT_SIGQUEUEINFO
149 select GENERIC_COMPAT_RT_SIGPROCMASK 149 select GENERIC_COMPAT_RT_SIGPROCMASK
150 select GENERIC_COMPAT_RT_SIGPENDING 150 select GENERIC_COMPAT_RT_SIGPENDING
151 select OLD_SIGSUSPEND
151 152
152config EARLY_PRINTK 153config EARLY_PRINTK
153 bool 154 bool
diff --git a/arch/powerpc/include/asm/systbl.h b/arch/powerpc/include/asm/systbl.h
index 97909d3b1d7b..66a21c15e7cb 100644
--- a/arch/powerpc/include/asm/systbl.h
+++ b/arch/powerpc/include/asm/systbl.h
@@ -75,6 +75,7 @@ SYSCALL_SPU(sgetmask)
75COMPAT_SYS_SPU(ssetmask) 75COMPAT_SYS_SPU(ssetmask)
76SYSCALL_SPU(setreuid) 76SYSCALL_SPU(setreuid)
77SYSCALL_SPU(setregid) 77SYSCALL_SPU(setregid)
78#define compat_sys_sigsuspend sys_sigsuspend
78SYS32ONLY(sigsuspend) 79SYS32ONLY(sigsuspend)
79COMPAT_SYS(sigpending) 80COMPAT_SYS(sigpending)
80COMPAT_SYS_SPU(sethostname) 81COMPAT_SYS_SPU(sethostname)
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c
index 8a5ea4a8f5d8..488a7c542a3a 100644
--- a/arch/powerpc/kernel/signal_32.c
+++ b/arch/powerpc/kernel/signal_32.c
@@ -56,7 +56,6 @@
56#undef DEBUG_SIG 56#undef DEBUG_SIG
57 57
58#ifdef CONFIG_PPC64 58#ifdef CONFIG_PPC64
59#define sys_sigsuspend compat_sys_sigsuspend
60#define sys_rt_sigreturn compat_sys_rt_sigreturn 59#define sys_rt_sigreturn compat_sys_rt_sigreturn
61#define sys_sigaction compat_sys_sigaction 60#define sys_sigaction compat_sys_sigaction
62#define sys_swapcontext compat_sys_swapcontext 61#define sys_swapcontext compat_sys_swapcontext
@@ -238,16 +237,6 @@ static inline int restore_general_regs(struct pt_regs *regs,
238 237
239#endif /* CONFIG_PPC64 */ 238#endif /* CONFIG_PPC64 */
240 239
241/*
242 * Atomically swap in the new signal mask, and wait for a signal.
243 */
244long sys_sigsuspend(old_sigset_t mask)
245{
246 sigset_t blocked;
247 siginitset(&blocked, mask);
248 return sigsuspend(&blocked);
249}
250
251long sys_sigaction(int sig, struct old_sigaction __user *act, 240long sys_sigaction(int sig, struct old_sigaction __user *act,
252 struct old_sigaction __user *oact) 241 struct old_sigaction __user *oact)
253{ 242{