diff options
| author | Neil Brown <neilb@suse.de> | 2005-09-13 04:25:39 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-13 11:22:32 -0400 |
| commit | 73aea4ecd38ebeff9e322f738057f4ae2c32a3ee (patch) | |
| tree | cabc00b17b3f96854cd818ea7e26734ac855843c | |
| parent | b59e3c0e172e3f3a147021aa16b929482b8d5846 (diff) | |
[PATCH] nfsd4: fix setclientid unlock of unlocked state lock
We could try to unlock the state lock here without having first locked it.
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| -rw-r--r-- | fs/nfsd/nfs4state.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index ec2fdb009bf1..6bbefd06f10d 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c | |||
| @@ -678,13 +678,12 @@ nfsd4_setclientid(struct svc_rqst *rqstp, struct nfsd4_setclientid *setclid) | |||
| 678 | int status; | 678 | int status; |
| 679 | char dname[HEXDIR_LEN]; | 679 | char dname[HEXDIR_LEN]; |
| 680 | 680 | ||
| 681 | status = nfserr_inval; | ||
| 682 | if (!check_name(clname)) | 681 | if (!check_name(clname)) |
| 683 | goto out; | 682 | return nfserr_inval; |
| 684 | 683 | ||
| 685 | status = nfs4_make_rec_clidname(dname, &clname); | 684 | status = nfs4_make_rec_clidname(dname, &clname); |
| 686 | if (status) | 685 | if (status) |
| 687 | goto out; | 686 | return status; |
| 688 | 687 | ||
| 689 | /* | 688 | /* |
| 690 | * XXX The Duplicate Request Cache (DRC) has been checked (??) | 689 | * XXX The Duplicate Request Cache (DRC) has been checked (??) |
