summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/os/exec.c
diff options
context:
space:
mode:
authorBryan Cantrill <bryan@joyent.com>2014-12-10 16:54:26 +0000
committerBryan Cantrill <bryan@joyent.com>2014-12-10 16:54:26 +0000
commit22a76dcc405e68b51ef58b0b8dbe09439eabaae0 (patch)
treef159c79b361e3dade6f5973ec39b2e7d9ddc46e6 /usr/src/uts/common/os/exec.c
parent8e4e8001906f84c65d5756f02878c2e809225a04 (diff)
downloadillumos-joyent-22a76dcc405e68b51ef58b0b8dbe09439eabaae0.tar.gz
OS-3611 lx brand: 64-bit processes should not use VAs above VA hole
Diffstat (limited to 'usr/src/uts/common/os/exec.c')
-rw-r--r--usr/src/uts/common/os/exec.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/usr/src/uts/common/os/exec.c b/usr/src/uts/common/os/exec.c
index d044b2a08d..cfb5c27302 100644
--- a/usr/src/uts/common/os/exec.c
+++ b/usr/src/uts/common/os/exec.c
@@ -1949,6 +1949,9 @@ exec_args(execa_t *uap, uarg_t *args, intpdata_t *intp, void **auxvpp)
usrstack = (char *)USRSTACK32;
}
+ if (args->maxstack != 0 && (uintptr_t)usrstack > args->maxstack)
+ usrstack = (char *)args->maxstack;
+
ASSERT(P2PHASE((uintptr_t)usrstack, args->stk_align) == 0);
#if defined(__sparc)