diff options
Diffstat (limited to 'fs/nfsd/nfs4idmap.c')
-rw-r--r-- | fs/nfsd/nfs4idmap.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/nfsd/nfs4idmap.c b/fs/nfsd/nfs4idmap.c index bf137fec33ff..2961016097ac 100644 --- a/fs/nfsd/nfs4idmap.c +++ b/fs/nfsd/nfs4idmap.c | |||
@@ -634,7 +634,7 @@ nfsd_map_name_to_uid(struct svc_rqst *rqstp, const char *name, size_t namelen, | |||
634 | return nfserr_inval; | 634 | return nfserr_inval; |
635 | 635 | ||
636 | status = do_name_to_id(rqstp, IDMAP_TYPE_USER, name, namelen, &id); | 636 | status = do_name_to_id(rqstp, IDMAP_TYPE_USER, name, namelen, &id); |
637 | *uid = make_kuid(&init_user_ns, id); | 637 | *uid = make_kuid(nfsd_user_namespace(rqstp), id); |
638 | if (!uid_valid(*uid)) | 638 | if (!uid_valid(*uid)) |
639 | status = nfserr_badowner; | 639 | status = nfserr_badowner; |
640 | return status; | 640 | return status; |
@@ -651,7 +651,7 @@ nfsd_map_name_to_gid(struct svc_rqst *rqstp, const char *name, size_t namelen, | |||
651 | return nfserr_inval; | 651 | return nfserr_inval; |
652 | 652 | ||
653 | status = do_name_to_id(rqstp, IDMAP_TYPE_GROUP, name, namelen, &id); | 653 | status = do_name_to_id(rqstp, IDMAP_TYPE_GROUP, name, namelen, &id); |
654 | *gid = make_kgid(&init_user_ns, id); | 654 | *gid = make_kgid(nfsd_user_namespace(rqstp), id); |
655 | if (!gid_valid(*gid)) | 655 | if (!gid_valid(*gid)) |
656 | status = nfserr_badowner; | 656 | status = nfserr_badowner; |
657 | return status; | 657 | return status; |
@@ -660,13 +660,13 @@ nfsd_map_name_to_gid(struct svc_rqst *rqstp, const char *name, size_t namelen, | |||
660 | __be32 nfsd4_encode_user(struct xdr_stream *xdr, struct svc_rqst *rqstp, | 660 | __be32 nfsd4_encode_user(struct xdr_stream *xdr, struct svc_rqst *rqstp, |
661 | kuid_t uid) | 661 | kuid_t uid) |
662 | { | 662 | { |
663 | u32 id = from_kuid(&init_user_ns, uid); | 663 | u32 id = from_kuid_munged(nfsd_user_namespace(rqstp), uid); |
664 | return encode_name_from_id(xdr, rqstp, IDMAP_TYPE_USER, id); | 664 | return encode_name_from_id(xdr, rqstp, IDMAP_TYPE_USER, id); |
665 | } | 665 | } |
666 | 666 | ||
667 | __be32 nfsd4_encode_group(struct xdr_stream *xdr, struct svc_rqst *rqstp, | 667 | __be32 nfsd4_encode_group(struct xdr_stream *xdr, struct svc_rqst *rqstp, |
668 | kgid_t gid) | 668 | kgid_t gid) |
669 | { | 669 | { |
670 | u32 id = from_kgid(&init_user_ns, gid); | 670 | u32 id = from_kgid_munged(nfsd_user_namespace(rqstp), gid); |
671 | return encode_name_from_id(xdr, rqstp, IDMAP_TYPE_GROUP, id); | 671 | return encode_name_from_id(xdr, rqstp, IDMAP_TYPE_GROUP, id); |
672 | } | 672 | } |