summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Myklebust <trondmy@gmail.com>2019-04-09 12:13:41 -0400
committerJ. Bruce Fields <bfields@redhat.com>2019-04-24 09:46:35 -0400
commite6667c73a27d80078f8d7fca516d6b14bc4e18a7 (patch)
tree7a716feae275b8d69c673c03d7c917ffaa292b03
parentccfe51a5161c17d24157c08f9963f351a89268fa (diff)
SUNRPC: rsi_parse() should use the current user namespace
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>
-rw-r--r--net/sunrpc/auth_gss/svcauth_gss.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/sunrpc/auth_gss/svcauth_gss.c b/net/sunrpc/auth_gss/svcauth_gss.c
index 0c5d7896d6dd..8be2f209982b 100644
--- a/net/sunrpc/auth_gss/svcauth_gss.c
+++ b/net/sunrpc/auth_gss/svcauth_gss.c
@@ -474,12 +474,12 @@ static int rsc_parse(struct cache_detail *cd,
474 * treatment so are checked for validity here.) 474 * treatment so are checked for validity here.)
475 */ 475 */
476 /* uid */ 476 /* uid */
477 rsci.cred.cr_uid = make_kuid(&init_user_ns, id); 477 rsci.cred.cr_uid = make_kuid(current_user_ns(), id);
478 478
479 /* gid */ 479 /* gid */
480 if (get_int(&mesg, &id)) 480 if (get_int(&mesg, &id))
481 goto out; 481 goto out;
482 rsci.cred.cr_gid = make_kgid(&init_user_ns, id); 482 rsci.cred.cr_gid = make_kgid(current_user_ns(), id);
483 483
484 /* number of additional gid's */ 484 /* number of additional gid's */
485 if (get_int(&mesg, &N)) 485 if (get_int(&mesg, &N))
@@ -497,7 +497,7 @@ static int rsc_parse(struct cache_detail *cd,
497 kgid_t kgid; 497 kgid_t kgid;
498 if (get_int(&mesg, &id)) 498 if (get_int(&mesg, &id))
499 goto out; 499 goto out;
500 kgid = make_kgid(&init_user_ns, id); 500 kgid = make_kgid(current_user_ns(), id);
501 if (!gid_valid(kgid)) 501 if (!gid_valid(kgid))
502 goto out; 502 goto out;
503 rsci.cred.cr_group_info->gid[i] = kgid; 503 rsci.cred.cr_group_info->gid[i] = kgid;