forked from Minki/linux
old sigsuspend variants in kernel/signal.c
conditional on OLD_SIGSUSPEND/OLD_SIGSUSPEND3, depending on which variety of that fossil is needed. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
75907d4d7b
commit
0a0e8cdf73
10
arch/Kconfig
10
arch/Kconfig
@ -387,4 +387,14 @@ config ODD_RT_SIGACTION
|
||||
help
|
||||
Architecture has unusual rt_sigaction(2) arguments
|
||||
|
||||
config OLD_SIGSUSPEND
|
||||
bool
|
||||
help
|
||||
Architecture has old sigsuspend(2) syscall, of one-argument variety
|
||||
|
||||
config OLD_SIGSUSPEND3
|
||||
bool
|
||||
help
|
||||
Even weirder antique ABI - three-argument sigsuspend(2)
|
||||
|
||||
source "kernel/gcov/Kconfig"
|
||||
|
@ -377,6 +377,14 @@ asmlinkage long sys_init_module(void __user *umod, unsigned long len,
|
||||
asmlinkage long sys_delete_module(const char __user *name_user,
|
||||
unsigned int flags);
|
||||
|
||||
#ifdef CONFIG_OLD_SIGSUSPEND
|
||||
asmlinkage long sys_sigsuspend(old_sigset_t mask);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_OLD_SIGSUSPEND3
|
||||
asmlinkage long sys_sigsuspend(int unused1, int unused2, old_sigset_t mask);
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_ODD_RT_SIGACTION
|
||||
asmlinkage long sys_rt_sigaction(int,
|
||||
const struct sigaction __user *,
|
||||
|
@ -3454,6 +3454,23 @@ COMPAT_SYSCALL_DEFINE2(rt_sigsuspend, compat_sigset_t __user *, unewset, compat_
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_OLD_SIGSUSPEND
|
||||
SYSCALL_DEFINE1(sigsuspend, old_sigset_t, mask)
|
||||
{
|
||||
sigset_t blocked;
|
||||
siginitset(&blocked, mask);
|
||||
return sigsuspend(&blocked);
|
||||
}
|
||||
#endif
|
||||
#ifdef CONFIG_OLD_SIGSUSPEND3
|
||||
SYSCALL_DEFINE3(sigsuspend, int, unused1, int, unused2, old_sigset_t, mask)
|
||||
{
|
||||
sigset_t blocked;
|
||||
siginitset(&blocked, mask);
|
||||
return sigsuspend(&blocked);
|
||||
}
|
||||
#endif
|
||||
|
||||
__attribute__((weak)) const char *arch_vma_name(struct vm_area_struct *vma)
|
||||
{
|
||||
return NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user