Re: [PATCH 27/43] userns: Use uid_eq gid_eq helpers when comparing kuids and kgids in the vfs

From: Eric W. Biederman
Date: Fri Apr 20 2012 - 20:02:06 EST


"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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/