summaryrefslogtreecommitdiffstats
path: root/fs/lockd/svc4proc.c
diff options
context:
space:
mode:
authorOlaf Kirch2006-10-04 11:16:03 +0200
committerLinus Torvalds2006-10-04 16:55:18 +0200
commit39be4502cb75dc26007fe1659735b26c8e63fcc6 (patch)
tree0f4c6bf14f8a975178b3192bfc9ba942da56619f /fs/lockd/svc4proc.c
parent[PATCH] knfsd: make nlmclnt_next_cookie SMP safe (diff)
downloadkernel-qcow2-linux-39be4502cb75dc26007fe1659735b26c8e63fcc6.tar.gz
kernel-qcow2-linux-39be4502cb75dc26007fe1659735b26c8e63fcc6.tar.xz
kernel-qcow2-linux-39be4502cb75dc26007fe1659735b26c8e63fcc6.zip
[PATCH] knfsd: match GRANTED_RES replies using cookies
When we send a GRANTED_MSG call, we current copy the NLM cookie provided in the original LOCK call - because in 1996, some broken clients seemed to rely on this bug. However, this means the cookies are not unique, so that when the client's GRANTED_RES message comes back, we cannot simply match it based on the cookie, but have to use the client's IP address in addition. Which breaks when you have a multi-homed NFS client. The X/Open spec explicitly mentions that clients should not expect the same cookie; so one may hope that any clients that were broken in 1996 have either been fixed or rendered obsolete. Signed-off-by: Olaf Kirch <okir@suse.de> Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/lockd/svc4proc.c')
-rw-r--r--fs/lockd/svc4proc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/lockd/svc4proc.c b/fs/lockd/svc4proc.c
index b8525fb62934..fa370f6eb07b 100644
--- a/fs/lockd/svc4proc.c
+++ b/fs/lockd/svc4proc.c
@@ -455,7 +455,7 @@ nlm4svc_proc_granted_res(struct svc_rqst *rqstp, struct nlm_res *argp,
dprintk("lockd: GRANTED_RES called\n");
- nlmsvc_grant_reply(rqstp, &argp->cookie, argp->status);
+ nlmsvc_grant_reply(&argp->cookie, argp->status);
return rpc_success;
}