forked from Minki/linux
[PATCH] x86_64: enlarge window for stack growth
Allow stack growth so the 'enter' instruction works. Also fixes problem in compat_sys_kexec_load() which could allocate more than 128 bytes using compat_alloc_user_space(). Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
6bfa9bb519
commit
03fdc2c277
@ -410,8 +410,10 @@ asmlinkage void __kprobes do_page_fault(struct pt_regs *regs,
|
||||
if (!(vma->vm_flags & VM_GROWSDOWN))
|
||||
goto bad_area;
|
||||
if (error_code & 4) {
|
||||
// XXX: align red zone size with ABI
|
||||
if (address + 128 < regs->rsp)
|
||||
/* Allow userspace just enough access below the stack pointer
|
||||
* to let the 'enter' instruction work.
|
||||
*/
|
||||
if (address + 65536 + 32 * sizeof(unsigned long) < regs->rsp)
|
||||
goto bad_area;
|
||||
}
|
||||
if (expand_stack(vma, address))
|
||||
|
Loading…
Reference in New Issue
Block a user