SUNRPC: rsi_parse() should use the current user namespace
authorTrond Myklebust <trondmy@gmail.com>
Tue, 9 Apr 2019 16:13:41 +0000 (12:13 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Wed, 24 Apr 2019 13:46:35 +0000 (09:46 -0400)
rsi_parse() is part of a downcall, so we must assume that the uids
and gids are encoded using the current user namespace.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
net/sunrpc/auth_gss/svcauth_gss.c

index 0c5d789..8be2f20 100644 (file)
@@ -474,12 +474,12 @@ static int rsc_parse(struct cache_detail *cd,
                 * treatment so are checked for validity here.)
                 */
                /* uid */
-               rsci.cred.cr_uid = make_kuid(&init_user_ns, id);
+               rsci.cred.cr_uid = make_kuid(current_user_ns(), id);
 
                /* gid */
                if (get_int(&mesg, &id))
                        goto out;
-               rsci.cred.cr_gid = make_kgid(&init_user_ns, id);
+               rsci.cred.cr_gid = make_kgid(current_user_ns(), id);
 
                /* number of additional gid's */
                if (get_int(&mesg, &N))
@@ -497,7 +497,7 @@ static int rsc_parse(struct cache_detail *cd,
                        kgid_t kgid;
                        if (get_int(&mesg, &id))
                                goto out;
-                       kgid = make_kgid(&init_user_ns, id);
+                       kgid = make_kgid(current_user_ns(), id);
                        if (!gid_valid(kgid))
                                goto out;
                        rsci.cred.cr_group_info->gid[i] = kgid;