diff options
author | trasz <trasz@FreeBSD.org> | 2008-09-10 13:16:41 +0000 |
---|---|---|
committer | trasz <trasz@FreeBSD.org> | 2008-09-10 13:16:41 +0000 |
commit | 9303940ffeb9f2f1fa70ff3cd8ea2c8fbabda10b (patch) | |
tree | ed7bf9cb2d91f45bd6197c9711c035069d33b3df /sys/kern/kern_exec.c | |
parent | 11fabd36c2894e56ba1ac22dce018446ffe1e7c5 (diff) | |
download | FreeBSD-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.c | 9 |
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) { |