Use vmspace->vm_stacktop in place of sv_usrstack in more places.

Reviewed by:	markj
Obtained from:	CheriBSD
Differential Revision:	https://reviews.freebsd.org/D34174
This commit is contained in:
John Baldwin 2022-02-14 10:57:30 -08:00
parent 01b0c35984
commit becaf6433b
3 changed files with 4 additions and 4 deletions

View File

@ -176,7 +176,7 @@ linux_mmap_common(struct thread *td, uintptr_t addr, size_t len, int prot,
* mmap's return value.
*/
PROC_LOCK(p);
vms->vm_maxsaddr = (char *)p->p_sysent->sv_usrstack -
vms->vm_maxsaddr = (char *)round_page(vms->vm_stacktop) -
lim_cur_proc(p, RLIMIT_STACK);
PROC_UNLOCK(p);
}

View File

@ -770,12 +770,12 @@ kern_proc_setrlimit(struct thread *td, struct proc *p, u_int which,
if (limp->rlim_cur > oldssiz.rlim_cur) {
prot = p->p_sysent->sv_stackprot;
size = limp->rlim_cur - oldssiz.rlim_cur;
addr = p->p_sysent->sv_usrstack -
addr = round_page(p->p_vmspace->vm_stacktop) -
limp->rlim_cur;
} else {
prot = VM_PROT_NONE;
size = oldssiz.rlim_cur - limp->rlim_cur;
addr = p->p_sysent->sv_usrstack -
addr = round_page(p->p_vmspace->vm_stacktop) -
oldssiz.rlim_cur;
}
addr = trunc_page(addr);

View File

@ -4664,7 +4664,7 @@ vm_map_growstack(vm_map_t map, vm_offset_t addr, vm_map_entry_t gap_entry)
* limit.
*/
is_procstack = addr >= (vm_offset_t)vm->vm_maxsaddr &&
addr < (vm_offset_t)p->p_sysent->sv_usrstack;
addr < (vm_offset_t)vm->vm_stacktop;
if (is_procstack && (ctob(vm->vm_ssize) + grow_amount > stacklim))
return (KERN_NO_SPACE);