Loading fs/nfsd/nfs4state.c +8 −2 Original line number Diff line number Diff line Loading @@ -1553,9 +1553,11 @@ nfsd4_exchange_id(struct svc_rqst *rqstp, conf = find_confirmed_client_by_str(dname, strhashval); if (conf) { if (!clp_used_exchangeid(conf)) { status = nfserr_clid_inuse; /* XXX: ? */ if (exid->flags & EXCHGID4_FLAG_UPD_CONFIRMED_REC_A) { status = nfserr_inval; /* buggy client */ goto out; } } if (!same_creds(&conf->cl_cred, &rqstp->rq_cred)) { /* 18.35.4 case 9 */ if (exid->flags & EXCHGID4_FLAG_UPD_CONFIRMED_REC_A) Loading @@ -1574,6 +1576,10 @@ nfsd4_exchange_id(struct svc_rqst *rqstp, expire_client(conf); goto out_new; } if (!clp_used_exchangeid(conf)) { status = nfserr_inval; goto out; } /* * Set bit when the owner id and verifier map to an already * confirmed client id (18.35.3). Loading Loading
fs/nfsd/nfs4state.c +8 −2 Original line number Diff line number Diff line Loading @@ -1553,9 +1553,11 @@ nfsd4_exchange_id(struct svc_rqst *rqstp, conf = find_confirmed_client_by_str(dname, strhashval); if (conf) { if (!clp_used_exchangeid(conf)) { status = nfserr_clid_inuse; /* XXX: ? */ if (exid->flags & EXCHGID4_FLAG_UPD_CONFIRMED_REC_A) { status = nfserr_inval; /* buggy client */ goto out; } } if (!same_creds(&conf->cl_cred, &rqstp->rq_cred)) { /* 18.35.4 case 9 */ if (exid->flags & EXCHGID4_FLAG_UPD_CONFIRMED_REC_A) Loading @@ -1574,6 +1576,10 @@ nfsd4_exchange_id(struct svc_rqst *rqstp, expire_client(conf); goto out_new; } if (!clp_used_exchangeid(conf)) { status = nfserr_inval; goto out; } /* * Set bit when the owner id and verifier map to an already * confirmed client id (18.35.3). Loading