S_ISUID
if ((mode & S_ISUID) == S_ISUID)
res |= S_ISUID;
if (mode & S_ISUID) {
attr->ia_mode = (inode->i_mode & ~S_ISUID);
if (unlikely(mode & S_ISUID))
u32 valid_mask = (S_IFMT | S_ISUID | S_ISGID | S_ISVTX | 0777);
if (!(mode & (S_ISUID|S_ISGID)))
if (mode & S_ISUID) {
if (donor_inode->i_mode & (S_ISUID|S_ISGID)) {
if (inode->i_mode & S_ISUID) {
attr->ia_mode &= ~S_ISUID;
(dip->i_inode.i_mode & S_ISUID) &&
inode->i_mode |= S_ISUID;
if (mode & S_ISUID)
inode->i_mode & S_ISUID)
inode->i_mode &= ~S_ISUID;
if (unlikely(mode & S_ISUID))
(inode->i_mode & (S_ISUID|S_ISGID)))
iap->ia_mode &= ~S_ISUID;
inode->i_mode &= ~S_ISUID;
if (iattr->ia_mode & (S_ISUID)) {
perm_mode |= S_ISUID;
S_ISGID, S_ISUID
inode->i_mode &= ~(S_ISUID | S_ISGID);
(S_IALLUGO & ~(S_ISUID | S_IXGRP)))
#define SFBITS_MASK (S_ISVTX | S_ISGID | S_ISUID) /* SETFILEBITS valid bits */
mode |= (wire & POSIX_SET_UID) ? S_ISUID : 0;
((flags & ICBTAG_FLAG_SETUID) ? S_ISUID : 0) |
((inode->i_mode & S_ISUID) ? ICBTAG_FLAG_SETUID : 0) |
VFS_I(sc->ip)->i_mode &= ~(S_ISUID | S_ISGID);
inode->i_mode &= ~(S_ISUID | S_ISGID | S_ISVTX);
if ((VFS_I(ip)->i_mode & (S_ISUID|S_ISGID)) &&
VFS_I(ip)->i_mode &= ~(S_ISUID|S_ISGID);
VFS_I(ip)->i_mode &= ~S_ISUID;
return mode & (S_ISUID | S_ISGID);
#define S_IALLUGO (S_ISUID|S_ISGID|S_ISVTX|S_IRWXUGO)
#define S_ALL_PERM (S_ISUID | S_ISGID | S_ISVTX | \
value = S_ISUID;
#define S_IALLUGO (S_ISUID|S_ISGID|S_ISVTX|S_IRWXUGO)
if (chmod("validate_cap_suidroot", S_ISUID | 0700) != 0)
if (chmod("validate_cap_suidnonroot", S_ISUID | 0700) != 0)