diff options
author | Trond Myklebust <trondmy@gmail.com> | 2019-04-09 12:13:41 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2019-04-24 09:46:35 -0400 |
commit | e6667c73a27d80078f8d7fca516d6b14bc4e18a7 (patch) | |
tree | 7a716feae275b8d69c673c03d7c917ffaa292b03 | |
parent | ccfe51a5161c17d24157c08f9963f351a89268fa (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.c | 6 |
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; |