lkml.org 
[lkml]   [2012]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 28/43] userns: Convert user specfied uids and gids in chown into kuids and kgid
    From: Eric W. Biederman <ebiederm@xmission.com>

    Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
    ---
    fs/open.c | 13 +++++++++++--
    1 files changed, 11 insertions(+), 2 deletions(-)

    diff --git a/fs/open.c b/fs/open.c
    index 92335f6..e166801 100644
    --- a/fs/open.c
    +++ b/fs/open.c
    @@ -506,15 +506,24 @@ static int chown_common(struct path *path, uid_t user, gid_t group)
    struct inode *inode = path->dentry->d_inode;
    int error;
    struct iattr newattrs;
    + kuid_t uid;
    + kgid_t gid;
    +
    + uid = make_kuid(current_user_ns(), user);
    + gid = make_kgid(current_user_ns(), group);

    newattrs.ia_valid = ATTR_CTIME;
    if (user != (uid_t) -1) {
    + if (!uid_valid(uid))
    + return -EINVAL;
    newattrs.ia_valid |= ATTR_UID;
    - newattrs.ia_uid = user;
    + newattrs.ia_uid = uid;
    }
    if (group != (gid_t) -1) {
    + if (!gid_valid(gid))
    + return -EINVAL;
    newattrs.ia_valid |= ATTR_GID;
    - newattrs.ia_gid = group;
    + newattrs.ia_gid = gid;
    }
    if (!S_ISDIR(inode->i_mode))
    newattrs.ia_valid |=
    --
    1.7.2.5


    \
     
     \ /
      Last update: 2012-04-08 07:19    [W:0.021 / U:2.408 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site