Loading fs/nfsd/idmap.h +2 −2 Original line number Diff line number Diff line Loading @@ -54,8 +54,8 @@ static inline void nfsd_idmap_shutdown(void) } #endif int nfsd_map_name_to_uid(struct svc_rqst *, const char *, size_t, __u32 *); int nfsd_map_name_to_gid(struct svc_rqst *, const char *, size_t, __u32 *); __be32 nfsd_map_name_to_uid(struct svc_rqst *, const char *, size_t, __u32 *); __be32 nfsd_map_name_to_gid(struct svc_rqst *, const char *, size_t, __u32 *); int nfsd_map_uid_to_name(struct svc_rqst *, __u32, char *); int nfsd_map_gid_to_name(struct svc_rqst *, __u32, char *); Loading fs/nfsd/nfs4idmap.c +7 −6 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ #include <linux/sched.h> #include <linux/slab.h> #include "idmap.h" #include "nfsd.h" /* * Cache entry Loading Loading @@ -514,7 +515,7 @@ rqst_authname(struct svc_rqst *rqstp) return clp->name; } static int static __be32 idmap_name_to_id(struct svc_rqst *rqstp, int type, const char *name, u32 namelen, uid_t *id) { Loading @@ -524,15 +525,15 @@ idmap_name_to_id(struct svc_rqst *rqstp, int type, const char *name, u32 namelen int ret; if (namelen + 1 > sizeof(key.name)) return -ESRCH; /* nfserr_badowner */ return nfserr_badowner; memcpy(key.name, name, namelen); key.name[namelen] = '\0'; strlcpy(key.authname, rqst_authname(rqstp), sizeof(key.authname)); ret = idmap_lookup(rqstp, nametoid_lookup, &key, &nametoid_cache, &item); if (ret == -ENOENT) ret = -ESRCH; /* nfserr_badowner */ return nfserr_badowner; if (ret) return ret; return nfserrno(ret); *id = item->id; cache_put(&item->h, &nametoid_cache); return 0; Loading Loading @@ -560,14 +561,14 @@ idmap_id_to_name(struct svc_rqst *rqstp, int type, uid_t id, char *name) return ret; } int __be32 nfsd_map_name_to_uid(struct svc_rqst *rqstp, const char *name, size_t namelen, __u32 *id) { return idmap_name_to_id(rqstp, IDMAP_TYPE_USER, name, namelen, id); } int __be32 nfsd_map_name_to_gid(struct svc_rqst *rqstp, const char *name, size_t namelen, __u32 *id) { Loading fs/nfsd/nfs4xdr.c +5 −5 Original line number Diff line number Diff line Loading @@ -289,17 +289,17 @@ nfsd4_decode_fattr(struct nfsd4_compoundargs *argp, u32 *bmval, len += XDR_QUADLEN(dummy32) << 2; READMEM(buf, dummy32); ace->whotype = nfs4_acl_get_whotype(buf, dummy32); host_err = 0; status = nfs_ok; if (ace->whotype != NFS4_ACL_WHO_NAMED) ace->who = 0; else if (ace->flag & NFS4_ACE_IDENTIFIER_GROUP) host_err = nfsd_map_name_to_gid(argp->rqstp, status = nfsd_map_name_to_gid(argp->rqstp, buf, dummy32, &ace->who); else host_err = nfsd_map_name_to_uid(argp->rqstp, status = nfsd_map_name_to_uid(argp->rqstp, buf, dummy32, &ace->who); if (host_err) goto out_nfserr; if (status) return status; } } else *acl = NULL; Loading fs/nfsd/nfsproc.c +0 −1 Original line number Diff line number Diff line Loading @@ -738,7 +738,6 @@ nfserrno (int errno) { nfserr_jukebox, -EAGAIN }, { nfserr_jukebox, -EWOULDBLOCK }, { nfserr_jukebox, -ENOMEM }, { nfserr_badowner, -ESRCH }, { nfserr_io, -ETXTBSY }, { nfserr_notsupp, -EOPNOTSUPP }, { nfserr_toosmall, -ETOOSMALL }, Loading Loading
fs/nfsd/idmap.h +2 −2 Original line number Diff line number Diff line Loading @@ -54,8 +54,8 @@ static inline void nfsd_idmap_shutdown(void) } #endif int nfsd_map_name_to_uid(struct svc_rqst *, const char *, size_t, __u32 *); int nfsd_map_name_to_gid(struct svc_rqst *, const char *, size_t, __u32 *); __be32 nfsd_map_name_to_uid(struct svc_rqst *, const char *, size_t, __u32 *); __be32 nfsd_map_name_to_gid(struct svc_rqst *, const char *, size_t, __u32 *); int nfsd_map_uid_to_name(struct svc_rqst *, __u32, char *); int nfsd_map_gid_to_name(struct svc_rqst *, __u32, char *); Loading
fs/nfsd/nfs4idmap.c +7 −6 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ #include <linux/sched.h> #include <linux/slab.h> #include "idmap.h" #include "nfsd.h" /* * Cache entry Loading Loading @@ -514,7 +515,7 @@ rqst_authname(struct svc_rqst *rqstp) return clp->name; } static int static __be32 idmap_name_to_id(struct svc_rqst *rqstp, int type, const char *name, u32 namelen, uid_t *id) { Loading @@ -524,15 +525,15 @@ idmap_name_to_id(struct svc_rqst *rqstp, int type, const char *name, u32 namelen int ret; if (namelen + 1 > sizeof(key.name)) return -ESRCH; /* nfserr_badowner */ return nfserr_badowner; memcpy(key.name, name, namelen); key.name[namelen] = '\0'; strlcpy(key.authname, rqst_authname(rqstp), sizeof(key.authname)); ret = idmap_lookup(rqstp, nametoid_lookup, &key, &nametoid_cache, &item); if (ret == -ENOENT) ret = -ESRCH; /* nfserr_badowner */ return nfserr_badowner; if (ret) return ret; return nfserrno(ret); *id = item->id; cache_put(&item->h, &nametoid_cache); return 0; Loading Loading @@ -560,14 +561,14 @@ idmap_id_to_name(struct svc_rqst *rqstp, int type, uid_t id, char *name) return ret; } int __be32 nfsd_map_name_to_uid(struct svc_rqst *rqstp, const char *name, size_t namelen, __u32 *id) { return idmap_name_to_id(rqstp, IDMAP_TYPE_USER, name, namelen, id); } int __be32 nfsd_map_name_to_gid(struct svc_rqst *rqstp, const char *name, size_t namelen, __u32 *id) { Loading
fs/nfsd/nfs4xdr.c +5 −5 Original line number Diff line number Diff line Loading @@ -289,17 +289,17 @@ nfsd4_decode_fattr(struct nfsd4_compoundargs *argp, u32 *bmval, len += XDR_QUADLEN(dummy32) << 2; READMEM(buf, dummy32); ace->whotype = nfs4_acl_get_whotype(buf, dummy32); host_err = 0; status = nfs_ok; if (ace->whotype != NFS4_ACL_WHO_NAMED) ace->who = 0; else if (ace->flag & NFS4_ACE_IDENTIFIER_GROUP) host_err = nfsd_map_name_to_gid(argp->rqstp, status = nfsd_map_name_to_gid(argp->rqstp, buf, dummy32, &ace->who); else host_err = nfsd_map_name_to_uid(argp->rqstp, status = nfsd_map_name_to_uid(argp->rqstp, buf, dummy32, &ace->who); if (host_err) goto out_nfserr; if (status) return status; } } else *acl = NULL; Loading
fs/nfsd/nfsproc.c +0 −1 Original line number Diff line number Diff line Loading @@ -738,7 +738,6 @@ nfserrno (int errno) { nfserr_jukebox, -EAGAIN }, { nfserr_jukebox, -EWOULDBLOCK }, { nfserr_jukebox, -ENOMEM }, { nfserr_badowner, -ESRCH }, { nfserr_io, -ETXTBSY }, { nfserr_notsupp, -EOPNOTSUPP }, { nfserr_toosmall, -ETOOSMALL }, Loading