arm64: switch compat to generic old sigsuspend
Al Viro [Tue, 25 Dec 2012 21:29:11 +0000 (16:29 -0500)]
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

arch/arm64/Kconfig
arch/arm64/include/asm/unistd32.h
arch/arm64/kernel/signal32.c

index c23afb1..8ae01ea 100644 (file)
@@ -208,6 +208,7 @@ config COMPAT
        depends on !ARM64_64K_PAGES
        select COMPAT_BINFMT_ELF
        select HAVE_UID16
+       select OLD_SIGSUSPEND3
        help
          This option enables support for a 32-bit EL0 running under a 64-bit
          kernel at EL1. AArch32-specific components such as system calls,
index 008406a..e60e386 100644 (file)
@@ -93,7 +93,7 @@ __SYSCALL(68,  sys_ni_syscall)                        /* 68 was sys_sgetmask */
 __SYSCALL(69,  sys_ni_syscall)                 /* 69 was sys_ssetmask */
 __SYSCALL(70,  sys_setreuid16)
 __SYSCALL(71,  sys_setregid16)
-__SYSCALL(72,  compat_sys_sigsuspend)
+__SYSCALL(72,  sys_sigsuspend)
 __SYSCALL(73,  compat_sys_sigpending)
 __SYSCALL(74,  sys_sethostname)
 __SYSCALL(75,  compat_sys_setrlimit)
index 806da6f..a1bd439 100644 (file)
@@ -333,18 +333,6 @@ static int compat_restore_vfp_context(struct compat_vfp_sigframe __user *frame)
        return err ? -EFAULT : 0;
 }
 
-/*
- * atomically swap in the new signal mask, and wait for a signal.
- */
-asmlinkage int compat_sys_sigsuspend(int restart, compat_ulong_t oldmask,
-                                    compat_old_sigset_t mask)
-{
-       sigset_t blocked;
-
-       siginitset(&current->blocked, mask);
-       return sigsuspend(&blocked);
-}
-
 asmlinkage int compat_sys_sigaction(int sig,
                                    const struct compat_old_sigaction __user *act,
                                    struct compat_old_sigaction __user *oact)