diff options
author | Mark Johnston <markj@FreeBSD.org> | 2022-01-17 16:41:58 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2022-01-17 16:41:58 +0000 |
commit | 1544f5add8c72c28e939a1557e3e319c6cfe5008 (patch) | |
tree | 62fa85d4e38fb24b58cd830666609b5ed5ae46a6 | |
parent | f75b1ff6e5698ac092aa33d66ea73a56f381ed99 (diff) | |
download | src-1544f5add8c72c28e939a1557e3e319c6cfe5008.tar.gz src-1544f5add8c72c28e939a1557e3e319c6cfe5008.zip |
Revert "kern_exec: Add kern.stacktop sysctl."
The current ASLR stack gap feature will be removed, and with that the
need for the kern.stacktop sysctl is gone. All consumers have been
removed.
This reverts commit a97d697122da2bfb0baae5f0939d118d119dae33.
Reviewed by: kib
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D33704
-rw-r--r-- | sys/kern/kern_exec.c | 31 | ||||
-rw-r--r-- | sys/sys/sysctl.h | 1 |
2 files changed, 1 insertions, 31 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 7e7fbe31976a..198f69ff4214 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -119,7 +119,6 @@ SYSCTL_INT(_kern, OID_AUTO, coredump_pack_vmmapinfo, CTLFLAG_RWTUN, static int sysctl_kern_ps_strings(SYSCTL_HANDLER_ARGS); static int sysctl_kern_usrstack(SYSCTL_HANDLER_ARGS); -static int sysctl_kern_stacktop(SYSCTL_HANDLER_ARGS); static int sysctl_kern_stackprot(SYSCTL_HANDLER_ARGS); static int do_execve(struct thread *td, struct image_args *args, struct mac *mac_p, struct vmspace *oldvmspace); @@ -134,10 +133,6 @@ SYSCTL_PROC(_kern, KERN_USRSTACK, usrstack, CTLTYPE_ULONG|CTLFLAG_RD| CTLFLAG_CAPRD|CTLFLAG_MPSAFE, NULL, 0, sysctl_kern_usrstack, "LU", "Top of process stack"); -SYSCTL_PROC(_kern, KERN_STACKTOP, stacktop, CTLTYPE_ULONG | CTLFLAG_RD | - CTLFLAG_CAPRD | CTLFLAG_MPSAFE, NULL, 0, sysctl_kern_stacktop, "LU", - "Top of process stack with stack gap."); - SYSCTL_PROC(_kern, OID_AUTO, stackprot, CTLTYPE_INT|CTLFLAG_RD|CTLFLAG_MPSAFE, NULL, 0, sysctl_kern_stackprot, "I", "Stack memory permissions"); @@ -196,31 +191,7 @@ sysctl_kern_usrstack(SYSCTL_HANDLER_ARGS) #endif error = SYSCTL_OUT(req, &p->p_sysent->sv_usrstack, sizeof(p->p_sysent->sv_usrstack)); - return (error); -} - -static int -sysctl_kern_stacktop(SYSCTL_HANDLER_ARGS) -{ - vm_offset_t stacktop; - struct proc *p; - int error; - - p = curproc; -#ifdef SCTL_MASK32 - if (req->flags & SCTL_MASK32) { - unsigned int val; - - val = (unsigned int)(p->p_sysent->sv_usrstack - - p->p_vmspace->vm_stkgap); - error = SYSCTL_OUT(req, &val, sizeof(val)); - } else -#endif - { - stacktop = p->p_sysent->sv_usrstack - p->p_vmspace->vm_stkgap; - error = SYSCTL_OUT(req, &stacktop, sizeof(stacktop)); - } - return (error); + return error; } static int diff --git a/sys/sys/sysctl.h b/sys/sys/sysctl.h index b455fec7209f..71a34652ff44 100644 --- a/sys/sys/sysctl.h +++ b/sys/sys/sysctl.h @@ -976,7 +976,6 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); #define KERN_HOSTUUID 36 /* string: host UUID identifier */ #define KERN_ARND 37 /* int: from arc4rand() */ #define KERN_MAXPHYS 38 /* int: MAXPHYS value */ -#define KERN_STACKTOP 39 /* int: USRSTACK - stack gap */ /* * KERN_PROC subtypes */ |