Page MenuHomeFreeBSD

D31692.id94235.diff
No OneTemporary

D31692.id94235.diff

Index: sys/kern/kern_exec.c
===================================================================
--- sys/kern/kern_exec.c
+++ sys/kern/kern_exec.c
@@ -174,6 +174,7 @@
static int
sysctl_kern_usrstack(SYSCTL_HANDLER_ARGS)
{
+ vm_offset_t stackaddr;
struct proc *p;
int error;
@@ -181,12 +182,15 @@
#ifdef SCTL_MASK32
if (req->flags & SCTL_MASK32) {
unsigned int val;
- val = (unsigned int)p->p_sysent->sv_usrstack;
+ val = (unsigned int)p->p_sysent->sv_usrstack
+ - p->p_vmspace->vm_stkgap;
error = SYSCTL_OUT(req, &val, sizeof(val));
} else
#endif
- error = SYSCTL_OUT(req, &p->p_sysent->sv_usrstack,
- sizeof(p->p_sysent->sv_usrstack));
+ {
+ stackaddr = p->p_sysent->sv_usrstack - p->p_vmspace->vm_stkgap;
+ error = SYSCTL_OUT(req, &stackaddr, sizeof(stackaddr));
+ }
return error;
}

File Metadata

Mime Type
text/plain
Expires
Sat, Feb 14, 10:40 AM (2 h, 6 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28696699
Default Alt Text
D31692.id94235.diff (825 B)

Event Timeline