From: NeilBrown Fix a somewhat bizarre corner case in clid processing: a clientid match isn't required for case 3. From: Andy Adamson From: "J. Bruce Fields" Signed-off-by: Neil Brown --- 25-akpm/fs/nfsd/nfs4state.c | 4 +--- 1 files changed, 1 insertion(+), 3 deletions(-) diff -puN fs/nfsd/nfs4state.c~knfsd-9-of-11-nfsd-setclientid-fixpatch fs/nfsd/nfs4state.c --- 25/fs/nfsd/nfs4state.c~knfsd-9-of-11-nfsd-setclientid-fixpatch 2004-05-28 00:10:40.394606496 -0700 +++ 25-akpm/fs/nfsd/nfs4state.c 2004-05-28 00:10:40.399605736 -0700 @@ -495,15 +495,13 @@ nfsd4_setclientid(struct svc_rqst *rqstp gen_clid(new); gen_confirm(new); add_to_unconfirmed(new, strhashval); - } else if (!cmp_clid(&conf->cl_clientid, &unconf->cl_clientid) && - !cmp_verf(&conf->cl_confirm, &unconf->cl_confirm)) { + } else if (!cmp_verf(&conf->cl_confirm, &unconf->cl_confirm)) { /* * CASE3: * confirmed found (name, principal match) * confirmed verifier does not match input clverifier * * unconfirmed found (name match) - * confirmed->cl_clientid != unconfirmed->cl_clientid and * confirmed->cl_confirm != unconfirmed->cl_confirm * * remove unconfirmed. _