"Serge E. Hallyn" <serge@xxxxxxxxxx> writes: > Quoting Eric W. Beiderman (ebiederm@xxxxxxxxxxxx): >> From: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> >> >> Signed-off-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> >> --- >> fs/attr.c | 8 ++++---- >> fs/exec.c | 10 +++++----- >> fs/fcntl.c | 6 +++--- >> fs/ioprio.c | 4 ++-- >> fs/locks.c | 2 +- >> fs/namei.c | 8 ++++---- >> include/linux/quotaops.h | 4 ++-- >> 7 files changed, 21 insertions(+), 21 deletions(-) >> >> diff --git a/fs/attr.c b/fs/attr.c >> index 73f69a6..2f094c6 100644 >> --- a/fs/attr.c >> +++ b/fs/attr.c >> @@ -47,14 +47,14 @@ int inode_change_ok(const struct inode *inode, struct iattr *attr) >> >> /* Make sure a caller can chown. */ >> if ((ia_valid & ATTR_UID) && >> - (current_fsuid() != inode->i_uid || >> - attr->ia_uid != inode->i_uid) && !capable(CAP_CHOWN)) >> + (!uid_eq(current_fsuid(), inode->i_uid) || >> + !uid_eq(attr->ia_uid, inode->i_uid)) && !capable(CAP_CHOWN)) >> return -EPERM; >> >> /* Make sure caller can chgrp. */ >> if ((ia_valid & ATTR_GID) && >> - (current_fsuid() != inode->i_uid || >> - (!in_group_p(attr->ia_gid) && attr->ia_gid != inode->i_gid)) && >> + (!uid_eq(current_fsuid(), inode->i_uid) || >> + (!in_group_p(attr->ia_gid) && gid_eq(attr->ia_gid, inode->i_gid))) && > > This should be !gid_eq() ? Yes. Thank you, it is now fixed in my tree. Eric -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html