diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-12-25 16:29:11 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-02-14 09:17:53 -0500 |
commit | 84b9e9b402386edf12664e37ee1f2e503472fb5e (patch) | |
tree | 46ab2f78d8b74bde2ef671c0f3956b39b5e3e9b2 /arch/arm64 | |
parent | 4cd2b2fa61ef65300cb237febc0e8a77f23b6c44 (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/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm64/include/asm/unistd32.h | 2 | ||||
-rw-r--r-- | arch/arm64/kernel/signal32.c | 12 |
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 | */ | ||
339 | asmlinkage int compat_sys_sigsuspend(int restart, compat_ulong_t oldmask, | ||
340 | compat_old_sigset_t mask) | ||
341 | { | ||
342 | sigset_t blocked; | ||
343 | |||
344 | siginitset(¤t->blocked, mask); | ||
345 | return sigsuspend(&blocked); | ||
346 | } | ||
347 | |||
348 | asmlinkage int compat_sys_sigaction(int sig, | 336 | asmlinkage 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) |