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)
This commit is contained in:
parent
9d53bbefba
commit
dfa7fd1d70
@ -1191,8 +1191,8 @@ zfs_create(vnode_t *dvp, char *name, vattr_t *vap, int excl, int mode,
|
||||
top:
|
||||
*vpp = NULL;
|
||||
|
||||
if ((vap->va_mode & VSVTX) && secpolicy_vnode_stky_modify(cr))
|
||||
vap->va_mode &= ~VSVTX;
|
||||
if ((vap->va_mode & S_ISVTX) && secpolicy_vnode_stky_modify(cr))
|
||||
vap->va_mode &= ~S_ISVTX;
|
||||
|
||||
if (*name == '\0') {
|
||||
/*
|
||||
|
@ -489,7 +489,7 @@ typedef struct xfs_vattr {
|
||||
* Check whether mandatory file locking is enabled.
|
||||
*/
|
||||
#define MANDLOCK(vp, mode) \
|
||||
((vp)->v_vnode->v_type == VREG && ((mode) & (VSGID|(VEXEC>>3))) == VSGID)
|
||||
((vp)->v_vnode->v_type == VREG && ((mode) & (S_ISGID|(VEXEC>>3))) == S_ISGID)
|
||||
|
||||
extern void vn_init(void);
|
||||
extern int vn_wait(struct xfs_vnode *);
|
||||
|
@ -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) {
|
||||
|
@ -61,6 +61,7 @@
|
||||
#include <sys/vnode.h>
|
||||
#include <sys/sysctl.h>
|
||||
#include <sys/syslog.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#include <security/mac/mac_policy.h>
|
||||
#include <security/mac_bsdextended/mac_bsdextended.h>
|
||||
@ -303,7 +304,7 @@ ugidfw_rulecheck(struct mac_bsdextended_rule *rule,
|
||||
}
|
||||
|
||||
if (rule->mbr_object.mbo_flags & MBO_SUID) {
|
||||
match = (vap->va_mode & VSUID);
|
||||
match = (vap->va_mode & S_ISUID);
|
||||
if (rule->mbr_object.mbo_neg & MBO_SUID)
|
||||
match = !match;
|
||||
if (!match)
|
||||
@ -311,7 +312,7 @@ ugidfw_rulecheck(struct mac_bsdextended_rule *rule,
|
||||
}
|
||||
|
||||
if (rule->mbr_object.mbo_flags & MBO_SGID) {
|
||||
match = (vap->va_mode & VSGID);
|
||||
match = (vap->va_mode & S_ISGID);
|
||||
if (rule->mbr_object.mbo_neg & MBO_SGID)
|
||||
match = !match;
|
||||
if (!match)
|
||||
|
@ -57,7 +57,7 @@
|
||||
* is created, otherwise 1.
|
||||
*/
|
||||
#undef __FreeBSD_version
|
||||
#define __FreeBSD_version 800046 /* Master, propagated to newvers */
|
||||
#define __FreeBSD_version 800047 /* Master, propagated to newvers */
|
||||
|
||||
#ifndef LOCORE
|
||||
#include <sys/types.h>
|
||||
|
@ -314,9 +314,6 @@ struct vattr {
|
||||
#define VEXEC 000100 /* execute/search permission */
|
||||
#define VWRITE 000200 /* write permission */
|
||||
#define VREAD 000400 /* read permission */
|
||||
#define VSVTX 001000 /* save swapped text even after use */
|
||||
#define VSGID 002000 /* set group id on execution */
|
||||
#define VSUID 004000 /* set user id on execution */
|
||||
#define VADMIN 010000 /* permission to administer */
|
||||
#define VSTAT 020000 /* permission to retrieve attrs */
|
||||
#define VAPPEND 040000 /* permission to write/append */
|
||||
|
Loading…
x
Reference in New Issue
Block a user