aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-12-25 16:29:11 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2013-02-14 09:17:53 -0500
commit84b9e9b402386edf12664e37ee1f2e503472fb5e (patch)
tree46ab2f78d8b74bde2ef671c0f3956b39b5e3e9b2 /arch/arm64
parent4cd2b2fa61ef65300cb237febc0e8a77f23b6c44 (diff)
arm64: switch compat to generic old sigsuspend
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/arm64')
-rw-r--r--arch/arm64/Kconfig1
-rw-r--r--arch/arm64/include/asm/unistd32.h2
-rw-r--r--arch/arm64/kernel/signal32.c12
3 files changed, 2 insertions, 13 deletions
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index c23afb12e0da..8ae01ea98c16 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -208,6 +208,7 @@ config COMPAT
208 depends on !ARM64_64K_PAGES 208 depends on !ARM64_64K_PAGES
209 select COMPAT_BINFMT_ELF 209 select COMPAT_BINFMT_ELF
210 select HAVE_UID16 210 select HAVE_UID16
211 select OLD_SIGSUSPEND3
211 help 212 help
212 This option enables support for a 32-bit EL0 running under a 64-bit 213 This option enables support for a 32-bit EL0 running under a 64-bit
213 kernel at EL1. AArch32-specific components such as system calls, 214 kernel at EL1. AArch32-specific components such as system calls,
diff --git a/arch/arm64/include/asm/unistd32.h b/arch/arm64/include/asm/unistd32.h
index 008406aff09f..e60e386178d1 100644
--- a/arch/arm64/include/asm/unistd32.h
+++ b/arch/arm64/include/asm/unistd32.h
@@ -93,7 +93,7 @@ __SYSCALL(68, sys_ni_syscall) /* 68 was sys_sgetmask */
93__SYSCALL(69, sys_ni_syscall) /* 69 was sys_ssetmask */ 93__SYSCALL(69, sys_ni_syscall) /* 69 was sys_ssetmask */
94__SYSCALL(70, sys_setreuid16) 94__SYSCALL(70, sys_setreuid16)
95__SYSCALL(71, sys_setregid16) 95__SYSCALL(71, sys_setregid16)
96__SYSCALL(72, compat_sys_sigsuspend) 96__SYSCALL(72, sys_sigsuspend)
97__SYSCALL(73, compat_sys_sigpending) 97__SYSCALL(73, compat_sys_sigpending)
98__SYSCALL(74, sys_sethostname) 98__SYSCALL(74, sys_sethostname)
99__SYSCALL(75, compat_sys_setrlimit) 99__SYSCALL(75, compat_sys_setrlimit)
diff --git a/arch/arm64/kernel/signal32.c b/arch/arm64/kernel/signal32.c
index 806da6f5e28d..a1bd4395a62c 100644
--- a/arch/arm64/kernel/signal32.c
+++ b/arch/arm64/kernel/signal32.c
@@ -333,18 +333,6 @@ static int compat_restore_vfp_context(struct compat_vfp_sigframe __user *frame)
333 return err ? -EFAULT : 0; 333 return err ? -EFAULT : 0;
334} 334}
335 335
336/*
337 * atomically swap in the new signal mask, and wait for a signal.
338 */
339asmlinkage int compat_sys_sigsuspend(int restart, compat_ulong_t oldmask,
340 compat_old_sigset_t mask)
341{
342 sigset_t blocked;
343
344 siginitset(&current->blocked, mask);
345 return sigsuspend(&blocked);
346}
347
348asmlinkage int compat_sys_sigaction(int sig, 336asmlinkage int compat_sys_sigaction(int sig,
349 const struct compat_old_sigaction __user *act, 337 const struct compat_old_sigaction __user *act,
350 struct compat_old_sigaction __user *oact) 338 struct compat_old_sigaction __user *oact)