aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_exec.c
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2019-09-03 18:56:25 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2019-09-03 18:56:25 +0000
commitfe69291ff4eba3692489bee077bd4f1182e68371 (patch)
treedaada07f22116fe9051d62578dfec51cf3e4f58d /sys/kern/kern_exec.c
parent14113f123e464c54345d0af2fd9ee60f3b38c196 (diff)
downloadsrc-fe69291ff4eba3692489bee077bd4f1182e68371.tar.gz
src-fe69291ff4eba3692489bee077bd4f1182e68371.zip
Add procctl(PROC_STACKGAP_CTL)
It allows a process to request that stack gap was not applied to its stacks, retroactively. Also it is possible to control the gaps in the process after exec. PR: 239894 Reviewed by: alc Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D21352
Notes
Notes: svn path=/head/; revision=351773
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r--sys/kern/kern_exec.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index 01472c4dc695..568c0ce6ba86 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -745,6 +745,8 @@ interpret:
p->p_flag |= P_EXEC;
if ((p->p_flag2 & P2_NOTRACE_EXEC) == 0)
p->p_flag2 &= ~P2_NOTRACE;
+ if ((p->p_flag2 & P2_STKGAP_DISABLE_EXEC) == 0)
+ p->p_flag2 &= ~P2_STKGAP_DISABLE;
if (p->p_flag & P_PPWAIT) {
p->p_flag &= ~(P_PPWAIT | P_PPTRACE);
cv_broadcast(&p->p_pwait);