Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/kern_exec.c
| Show First 20 Lines • Show All 168 Lines • ▼ Show 20 Lines | #endif | ||||
| error = SYSCTL_OUT(req, &p->p_sysent->sv_psstrings, | error = SYSCTL_OUT(req, &p->p_sysent->sv_psstrings, | ||||
| sizeof(p->p_sysent->sv_psstrings)); | sizeof(p->p_sysent->sv_psstrings)); | ||||
| return error; | return error; | ||||
| } | } | ||||
| static int | static int | ||||
| sysctl_kern_usrstack(SYSCTL_HANDLER_ARGS) | sysctl_kern_usrstack(SYSCTL_HANDLER_ARGS) | ||||
| { | { | ||||
| vm_offset_t stackaddr; | |||||
| struct proc *p; | struct proc *p; | ||||
| int error; | int error; | ||||
| p = curproc; | p = curproc; | ||||
| #ifdef SCTL_MASK32 | #ifdef SCTL_MASK32 | ||||
| if (req->flags & SCTL_MASK32) { | if (req->flags & SCTL_MASK32) { | ||||
| unsigned int val; | 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)); | error = SYSCTL_OUT(req, &val, sizeof(val)); | ||||
| } else | } else | ||||
| #endif | #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; | return error; | ||||
| } | } | ||||
| static int | static int | ||||
| sysctl_kern_stackprot(SYSCTL_HANDLER_ARGS) | sysctl_kern_stackprot(SYSCTL_HANDLER_ARGS) | ||||
| { | { | ||||
| struct proc *p; | struct proc *p; | ||||
| ▲ Show 20 Lines • Show All 1,839 Lines • Show Last 20 Lines | |||||