diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2007-07-12 18:01:31 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2007-07-12 18:01:31 +0000 |
| commit | 59d8f3ff083f7395b85f30888af849eeca42967e (patch) | |
| tree | c78cff16168bf26e653ac32e1c954ba6ed15af12 /sys/amd64/linux32 | |
| parent | c4ed2c08adfbde9a3d523861dde48ff3914012f9 (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.c | 3 |
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 = { |
