ISGID
if ((ip->i_mode & ISGID) && !groupmember(ip->i_gid, cnp->cn_cred)) {
ip->i_mode &= ~ISGID;
if ((ip->i_mode & (ISUID | ISGID)) && resid > uio->uio_resid &&
ip->i_mode &= ~(ISUID | ISGID);
if (!groupmember(ip->i_gid, cred) && (mode & ISGID))
if ((ip->i_mode & (ISUID | ISGID)) && (ouid != uid || ogid != gid)) {
ip->i_mode &= ~(ISUID | ISGID);
ip->i_mode &= ~(ISUID | ISGID);
if ((ip->i_mode & ISGID) && !groupmember(ip->i_gid, cnp->cn_cred) &&
ip->i_mode &= ~ISGID;
if (!groupmember(ip->i_gid, cred) && (mode & ISGID))
ip->i_mode &= ~(ISUID | ISGID);