aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_exec.c
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2021-01-14 13:38:29 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2021-06-13 01:22:32 +0000
commitff59c9de3274134e3e517a7faf7b5fbedfc0bb7f (patch)
tree920a9ece15af329e755eb69d2fb61f360b40baff /sys/kern/kern_exec.c
parent0379dc900e5304d3915ca82110445f2bcc415fcb (diff)
downloadsrc-ff59c9de3274134e3e517a7faf7b5fbedfc0bb7f.tar.gz
src-ff59c9de3274134e3e517a7faf7b5fbedfc0bb7f.zip
sysent: allow ABI to disable setid on exec.
(cherry picked from commit 2d423f7671fe452486932c8e41e7d3547afe82aa)
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r--sys/kern/kern_exec.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index 1df422dec08e..3413a5d024d4 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -774,6 +774,10 @@ interpret:
signotify(td);
}
+ if (imgp->sysent->sv_setid_allowed != NULL &&
+ !(*imgp->sysent->sv_setid_allowed)(td, imgp))
+ execve_nosetid(imgp);
+
/*
* Implement image setuid/setgid installation.
*/