summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-12-26 01:21:29 +0400
committerAl Viro <viro@zeniv.linux.org.uk>2013-02-04 03:16:13 +0400
commite181ee4cd7e510738b1a8ede4e2f3f994df3234e (patch)
tree1e47bd77dce7284ce75458e091e724cc3eeabed4
parent07562be77d5b36aa961f722292a708bb663f8a73 (diff)
downloadlinux-e181ee4cd7e510738b1a8ede4e2f3f994df3234e.tar.xz
s390: switch to generic old sigsuspend
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--arch/s390/Kconfig1
-rw-r--r--arch/s390/kernel/entry.h1
-rw-r--r--arch/s390/kernel/signal.c10
3 files changed, 1 insertions, 11 deletions
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 019364785d33..17ba4f3be7ec 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -144,6 +144,7 @@ config S390
select GENERIC_COMPAT_RT_SIGQUEUEINFO
select GENERIC_COMPAT_RT_SIGPROCMASK
select GENERIC_COMPAT_RT_SIGPENDING
+ select OLD_SIGSUSPEND3
config SCHED_OMIT_FRAME_POINTER
def_bool y
diff --git a/arch/s390/kernel/entry.h b/arch/s390/kernel/entry.h
index d56319aa1d56..ee1a8b3d0db4 100644
--- a/arch/s390/kernel/entry.h
+++ b/arch/s390/kernel/entry.h
@@ -73,7 +73,6 @@ long sys_s390_fadvise64(int fd, u32 offset_high, u32 offset_low,
long sys_s390_fadvise64_64(struct fadvise64_64_args __user *args);
long sys_s390_fallocate(int fd, int mode, loff_t offset, u32 len_high,
u32 len_low);
-long sys_sigsuspend(int history0, int history1, old_sigset_t mask);
long sys_sigaction(int sig, const struct old_sigaction __user *act,
struct old_sigaction __user *oact);
long sys_sigreturn(void);
diff --git a/arch/s390/kernel/signal.c b/arch/s390/kernel/signal.c
index fda41480b0bd..0bc5c9d1ab99 100644
--- a/arch/s390/kernel/signal.c
+++ b/arch/s390/kernel/signal.c
@@ -48,16 +48,6 @@ typedef struct
struct ucontext uc;
} rt_sigframe;
-/*
- * Atomically swap in the new signal mask, and wait for a signal.
- */
-SYSCALL_DEFINE3(sigsuspend, int, history0, int, history1, old_sigset_t, mask)
-{
- sigset_t blocked;
- siginitset(&blocked, mask);
- return sigsuspend(&blocked);
-}
-
SYSCALL_DEFINE3(sigaction, int, sig, const struct old_sigaction __user *, act,
struct old_sigaction __user *, oact)
{