git: c595625abe8e - stable/13 - Revert "kern_exec: Add kern.stacktop sysctl."

From: Mark Johnston <markj_at_FreeBSD.org>
Date: Mon, 24 Jan 2022 14:21:05 UTC
The branch stable/13 has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=c595625abe8e21e49c4c37986af7dde8d00c5d3b

commit c595625abe8e21e49c4c37986af7dde8d00c5d3b
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2022-01-17 16:41:58 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2022-01-24 14:20:21 +0000

    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
    Sponsored by:   The FreeBSD Foundation
    
    (cherry picked from commit 1544f5add8c72c28e939a1557e3e319c6cfe5008)
---
 sys/kern/kern_exec.c | 31 +------------------------------
 sys/sys/sysctl.h     |  1 -
 2 files changed, 1 insertion(+), 31 deletions(-)

diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index 2031f8b46ef9..97857c82f7a7 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 c8c9dddc146d..9e9bd723f4bd 100644
--- a/sys/sys/sysctl.h
+++ b/sys/sys/sysctl.h
@@ -982,7 +982,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
  */