summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_exec.c
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2008-09-10 13:16:41 +0000
committertrasz <trasz@FreeBSD.org>2008-09-10 13:16:41 +0000
commit9303940ffeb9f2f1fa70ff3cd8ea2c8fbabda10b (patch)
treeed7bf9cb2d91f45bd6197c9711c035069d33b3df /sys/kern/kern_exec.c
parent11fabd36c2894e56ba1ac22dce018446ffe1e7c5 (diff)
downloadFreeBSD-src-9303940ffeb9f2f1fa70ff3cd8ea2c8fbabda10b.zip
FreeBSD-src-9303940ffeb9f2f1fa70ff3cd8ea2c8fbabda10b.tar.gz
Remove VSVTX, VSGID and VSUID. This should be a no-op,
as VSVTX == S_ISVTX, VSGID == S_ISGID and VSUID == S_ISUID. Approved by: rwatson (mentor)
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r--sys/kern/kern_exec.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index ab972f1..9ca2f96 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -62,6 +62,7 @@ __FBSDID("$FreeBSD$");
#include <sys/shm.h>
#include <sys/sysctl.h>
#include <sys/vnode.h>
+#include <sys/stat.h>
#ifdef KTRACE
#include <sys/ktrace.h>
#endif
@@ -622,9 +623,9 @@ interpret:
*/
oldcred = p->p_ucred;
credential_changing = 0;
- credential_changing |= (attr.va_mode & VSUID) && oldcred->cr_uid !=
+ credential_changing |= (attr.va_mode & S_ISUID) && oldcred->cr_uid !=
attr.va_uid;
- credential_changing |= (attr.va_mode & VSGID) && oldcred->cr_gid !=
+ credential_changing |= (attr.va_mode & S_ISGID) && oldcred->cr_gid !=
attr.va_gid;
#ifdef MAC
will_transition = mac_vnode_execve_will_transition(oldcred, imgp->vp,
@@ -675,9 +676,9 @@ interpret:
* Set the new credentials.
*/
crcopy(newcred, oldcred);
- if (attr.va_mode & VSUID)
+ if (attr.va_mode & S_ISUID)
change_euid(newcred, euip);
- if (attr.va_mode & VSGID)
+ if (attr.va_mode & S_ISGID)
change_egid(newcred, attr.va_gid);
#ifdef MAC
if (will_transition) {
OpenPOWER on IntegriCloud