aboutsummaryrefslogtreecommitdiff
path: root/sys/alpha/linux
diff options
context:
space:
mode:
authorMarcel Moolenaar <marcel@FreeBSD.org>2000-09-06 06:08:54 +0000
committerMarcel Moolenaar <marcel@FreeBSD.org>2000-09-06 06:08:54 +0000
commitdee4ec33cf31c078746a25bf5a6a5f34b4235fd4 (patch)
treeda4b77a3f8a5a459ed0d032e649e16925d4f8510 /sys/alpha/linux
parent673fac08fd29b89ca5f2b0b99671440ada2c80ff (diff)
Notes
Diffstat (limited to 'sys/alpha/linux')
-rw-r--r--sys/alpha/linux/linux.h3
-rw-r--r--sys/alpha/linux/linux_machdep.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/sys/alpha/linux/linux.h b/sys/alpha/linux/linux.h
index 3bb46547aedb..8887ec36f67e 100644
--- a/sys/alpha/linux/linux.h
+++ b/sys/alpha/linux/linux.h
@@ -157,6 +157,9 @@ struct linux_new_utsname {
#define LINUX_SIGISMEMBER(set, sig) SIGISMEMBER(set, sig)
#define LINUX_SIGADDSET(set, sig) SIGADDSET(set, sig)
+/* sigaltstack */
+#define LINUX_MINSIGSTKSZ 2048
+
typedef void (*linux_handler_t)(int);
typedef u_long linux_osigset_t;
diff --git a/sys/alpha/linux/linux_machdep.c b/sys/alpha/linux/linux_machdep.c
index 14e8a535730a..afcfd4c734fc 100644
--- a/sys/alpha/linux/linux_machdep.c
+++ b/sys/alpha/linux/linux_machdep.c
@@ -612,7 +612,8 @@ linux_sigaltstack(p, uap)
ss = stackgap_alloc(&sg, sizeof(stack_t));
ss->ss_sp = lss.ss_sp;
- ss->ss_size = lss.ss_size;
+ ss->ss_size = (lss.ss_size >= LINUX_MINSIGSTKSZ &&
+ lss.ss_size < MINSIGSTKSZ) ? MINSIGSTKSZ : lss.ss_size;
ss->ss_flags = lss.ss_flags;
oss = (uap->uoss != NULL)