mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
nfsd: return CLID_INUSE for unexpected SETCLIENTID_CONFIRM case
Somebody with a Solaris client was hitting this case. We haven't figured out why yet, and don't have a reproducer. Meanwhile Frank noticed that RFC 7530 actually recommends CLID_INUSE for this case. Unlikely to help the original reporter, but may as well fix it. Reported-by: Frank Filz <ffilzlnx@mindspring.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
parent
3fcbbd244e
commit
f984a7ce58
@ -3111,10 +3111,11 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp,
|
||||
/*
|
||||
* We try hard to give out unique clientid's, so if we get an
|
||||
* attempt to confirm the same clientid with a different cred,
|
||||
* there's a bug somewhere. Let's charitably assume it's our
|
||||
* bug.
|
||||
* the client may be buggy; this should never happen.
|
||||
*
|
||||
* Nevertheless, RFC 7530 recommends INUSE for this case:
|
||||
*/
|
||||
status = nfserr_serverfault;
|
||||
status = nfserr_clid_inuse;
|
||||
if (unconf && !same_creds(&unconf->cl_cred, &rqstp->rq_cred))
|
||||
goto out;
|
||||
if (conf && !same_creds(&conf->cl_cred, &rqstp->rq_cred))
|
||||
|
Loading…
Reference in New Issue
Block a user