summaryrefslogtreecommitdiff
path: root/sys/compat/linux/common/linux_signal.c
diff options
context:
space:
mode:
authorchristos <christos@NetBSD.org>2018-01-07 21:14:38 +0000
committerchristos <christos@NetBSD.org>2018-01-07 21:14:38 +0000
commit74a4b85d23914c4e51d4c6beff3d0a9f3147ca4e (patch)
tree640c94634a2b7a4cdcd01dcfbb7335f5e7315e7f /sys/compat/linux/common/linux_signal.c
parent118210fb0c7f0ae761cbe0ddd3ba105fa62be03d (diff)
Ignore signal 64 for now (go uses it)
XXX: pullup-8
Diffstat (limited to 'sys/compat/linux/common/linux_signal.c')
-rw-r--r--sys/compat/linux/common/linux_signal.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/sys/compat/linux/common/linux_signal.c b/sys/compat/linux/common/linux_signal.c
index 5e4de41053f..6a949677fa6 100644
--- a/sys/compat/linux/common/linux_signal.c
+++ b/sys/compat/linux/common/linux_signal.c
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_signal.c,v 1.79 2017/02/20 16:30:41 rin Exp $ */
+/* $NetBSD: linux_signal.c,v 1.80 2018/01/07 21:14:38 christos Exp $ */
/*-
* Copyright (c) 1995, 1998 The NetBSD Foundation, Inc.
@@ -48,7 +48,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_signal.c,v 1.79 2017/02/20 16:30:41 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_signal.c,v 1.80 2018/01/07 21:14:38 christos Exp $");
#define COMPAT_LINUX 1
@@ -346,6 +346,15 @@ linux_sys_rt_sigaction(struct lwp *l, const struct linux_sys_rt_sigaction_args *
}
sig = SCARG(uap, signum);
+ /*
+ * XXX: Linux has 33 realtime signals, the go binary wants to
+ * reset all of them; nothing else uses the last RT signal, so for
+ * now ignore it.
+ */
+ if (sig == LINUX__NSIG) {
+ uprintf("%s: setting signal %d ignored\n", __func__, sig);
+ sig--; /* back to 63 which is ignored */
+ }
if (sig < 0 || sig >= LINUX__NSIG)
return EINVAL;
if (sig > 0 && !linux_to_native_signo[sig]) {