diff options
| author | J. Bruce Fields <bfields@redhat.com> | 2011-01-04 18:02:15 -0500 | 
|---|---|---|
| committer | J. Bruce Fields <bfields@redhat.com> | 2011-01-04 18:21:36 -0500 | 
| commit | f6af99ec1b261e21219d5eba99e3af48fc6c32d4 (patch) | |
| tree | 828eab9238b2178e3d13abde226edcb1ec0c57a8 /fs/nfsd/nfs4idmap.c | |
| parent | 255c7cf810e4776ae8f1023332060459f30d8a2a (diff) | |
| download | olio-linux-3.10-f6af99ec1b261e21219d5eba99e3af48fc6c32d4.tar.xz olio-linux-3.10-f6af99ec1b261e21219d5eba99e3af48fc6c32d4.zip  | |
nfsd4: name->id mapping should fail with BADOWNER not BADNAME
According to rfc 3530 BADNAME is for strings that represent paths;
BADOWNER is for user/group names that don't map.
And the too-long name should probably be BADOWNER as well; it's
effectively the same as if we couldn't map it.
Cc: stable@kernel.org
Reported-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Reported-by: Simon Kirby <sim@hostway.ca>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/nfs4idmap.c')
| -rw-r--r-- | fs/nfsd/nfs4idmap.c | 4 | 
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/nfsd/nfs4idmap.c b/fs/nfsd/nfs4idmap.c index f0695e815f0..844960fd039 100644 --- a/fs/nfsd/nfs4idmap.c +++ b/fs/nfsd/nfs4idmap.c @@ -524,13 +524,13 @@ idmap_name_to_id(struct svc_rqst *rqstp, int type, const char *name, u32 namelen  	int ret;  	if (namelen + 1 > sizeof(key.name)) -		return -EINVAL; +		return -ESRCH; /* 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_badname */ +		ret = -ESRCH; /* nfserr_badowner */  	if (ret)  		return ret;  	*id = item->id;  |