summaryrefslogtreecommitdiff
path: root/sys/amd64/linux32
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2007-07-12 18:01:31 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2007-07-12 18:01:31 +0000
commit59d8f3ff083f7395b85f30888af849eeca42967e (patch)
treec78cff16168bf26e653ac32e1c954ba6ed15af12 /sys/amd64/linux32
parentc4ed2c08adfbde9a3d523861dde48ff3914012f9 (diff)
Fix a couple of issues with the stack limit for 32-bit processes on 64-bit
kernels exposed by the recent fixes to resource limits for 32-bit processes on 64-bit kernels: - Let ABIs expose their maximum stack size via a new pointer in sysentvec and use that in preference to maxssiz during exec() rather than always using maxssiz for all processses. - Apply the ABI's limit fixup to the previous stack size when adjusting RLIMIT_STACK to determine if the existing mapping for the stack needs to be grown or shrunk (as well as how much it should be grown or shrunk). Approved by: re (kensmith)
Notes
svn path=/head/; revision=171410
Diffstat (limited to 'sys/amd64/linux32')
-rw-r--r--sys/amd64/linux32/linux32_sysvec.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/amd64/linux32/linux32_sysvec.c b/sys/amd64/linux32/linux32_sysvec.c
index 89fa72a6dcdd..ba4adc3b6409 100644
--- a/sys/amd64/linux32/linux32_sysvec.c
+++ b/sys/amd64/linux32/linux32_sysvec.c
@@ -1023,7 +1023,8 @@ struct sysentvec elf_linux_sysvec = {
VM_PROT_ALL,
linux_copyout_strings,
exec_linux_setregs,
- linux32_fixlimit
+ linux32_fixlimit,
+ &linux32_maxssiz,
};
static Elf32_Brandinfo linux_brand = {