Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 357812
b: refs/heads/master
c: 25da926
h: refs/heads/master
v: v3
  • Loading branch information
Eric W. Biederman committed Feb 13, 2013
1 parent a689ef9 commit e395706
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a570abbb966ee7de6c4357a58be11a558fa7099b
refs/heads/master: 25da9263710ec94c964259c79fa9a3a635cd3a50
14 changes: 9 additions & 5 deletions trunk/net/sunrpc/svcauth_unix.c
Original file line number Diff line number Diff line change
Expand Up @@ -470,7 +470,7 @@ static void unix_gid_request(struct cache_detail *cd,
char tuid[20];
struct unix_gid *ug = container_of(h, struct unix_gid, h);

snprintf(tuid, 20, "%u", ug->uid);
snprintf(tuid, 20, "%u", from_kuid(&init_user_ns, ug->uid));
qword_add(bpp, blen, tuid);
(*bpp)[-1] = '\n';
}
Expand All @@ -486,7 +486,8 @@ static int unix_gid_parse(struct cache_detail *cd,
char *mesg, int mlen)
{
/* uid expiry Ngid gid0 gid1 ... gidN-1 */
int uid;
int id;
kuid_t uid;
int gids;
int rv;
int i;
Expand All @@ -498,9 +499,12 @@ static int unix_gid_parse(struct cache_detail *cd,
return -EINVAL;
mesg[mlen-1] = 0;

rv = get_int(&mesg, &uid);
rv = get_int(&mesg, &id);
if (rv)
return -EINVAL;
uid = make_kuid(&init_user_ns, id);
if (!uid_valid(uid))
return -EINVAL;
ug.uid = uid;

expiry = get_expiry(&mesg);
Expand Down Expand Up @@ -554,7 +558,7 @@ static int unix_gid_show(struct seq_file *m,
struct cache_detail *cd,
struct cache_head *h)
{
struct user_namespace *user_ns = current_user_ns();
struct user_namespace *user_ns = &init_user_ns;
struct unix_gid *ug;
int i;
int glen;
Expand All @@ -570,7 +574,7 @@ static int unix_gid_show(struct seq_file *m,
else
glen = 0;

seq_printf(m, "%u %d:", ug->uid, glen);
seq_printf(m, "%u %d:", from_kuid_munged(user_ns, ug->uid), glen);
for (i = 0; i < glen; i++)
seq_printf(m, " %d", from_kgid_munged(user_ns, GROUP_AT(ug->gi, i)));
seq_printf(m, "\n");
Expand Down

0 comments on commit e395706

Please sign in to comment.