summaryrefslogtreecommitdiffstats
path: root/sys/alpha/linux/linux_machdep.c
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2000-09-06 06:08:54 +0000
committermarcel <marcel@FreeBSD.org>2000-09-06 06:08:54 +0000
commit745048429c466ca87dcce5bf5c39d0dfaed7ef28 (patch)
tree4c9421d1979cf07065f890a3d31f66a093085776 /sys/alpha/linux/linux_machdep.c
parent7c31a7e63d338c948e2a86d409d8c0c968bf7ab3 (diff)
downloadFreeBSD-src-745048429c466ca87dcce5bf5c39d0dfaed7ef28.zip
FreeBSD-src-745048429c466ca87dcce5bf5c39d0dfaed7ef28.tar.gz
When sigaltstack is called with a stack size that's not smaller
than LINUX_MINSIGSTKSZ but smaller than MINSIGSTKSZ, cheat and pass MINSIGSTKSZ to the kernel. This is a workaround. Submitted through: nate
Diffstat (limited to 'sys/alpha/linux/linux_machdep.c')
-rw-r--r--sys/alpha/linux/linux_machdep.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/alpha/linux/linux_machdep.c b/sys/alpha/linux/linux_machdep.c
index 14e8a53..afcfd4c 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)
OpenPOWER on IntegriCloud