diff options
author | pjd <pjd@FreeBSD.org> | 2007-03-01 20:38:24 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2007-03-01 20:38:24 +0000 |
commit | 9558665f1e9f1f9706571aaa461046ce5b51544e (patch) | |
tree | 63f80dc58e09bd7368c1fc36f80e0a5cb3f09a2b /sys/gnu/fs | |
parent | 62de975b4dd173f6b7bf54718b6fab2809bec4fb (diff) | |
download | FreeBSD-src-9558665f1e9f1f9706571aaa461046ce5b51544e.zip FreeBSD-src-9558665f1e9f1f9706571aaa461046ce5b51544e.tar.gz |
Avoid checking for privileges if there is no need to.
Discussed with: rwatson
Diffstat (limited to 'sys/gnu/fs')
-rw-r--r-- | sys/gnu/fs/ext2fs/ext2_vnops.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/gnu/fs/ext2fs/ext2_vnops.c b/sys/gnu/fs/ext2fs/ext2_vnops.c index 5ed7d11..c95777b 100644 --- a/sys/gnu/fs/ext2fs/ext2_vnops.c +++ b/sys/gnu/fs/ext2fs/ext2_vnops.c @@ -596,7 +596,7 @@ ext2_chown(vp, uid, gid, cred, td) ip->i_gid = gid; ip->i_uid = uid; ip->i_flag |= IN_CHANGE; - if (ouid != uid || ogid != gid) { + if ((ip->i_mode & (ISUID | ISGID)) && (ouid != uid || ogid != gid)) { if (priv_check_cred(cred, PRIV_VFS_CLEARSUGID, SUSER_ALLOWJAIL) != 0) ip->i_mode &= ~(ISUID | ISGID); |