diff options
| author | Andy Adamson <andros@netapp.com> | 2011-01-25 15:38:01 +0000 | 
|---|---|---|
| committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2011-01-25 15:26:51 -0500 | 
| commit | 778be232a207e79088ba70d832ac25dfea6fbf1a (patch) | |
| tree | 307249459e5ef45c4b3651c7fc5c454cdb3e0c92 /fs/nfs/callback_proc.c | |
| parent | 80c30e8de4f81851b1f712bcc596e11d53bc76f1 (diff) | |
| download | olio-linux-3.10-778be232a207e79088ba70d832ac25dfea6fbf1a.tar.xz olio-linux-3.10-778be232a207e79088ba70d832ac25dfea6fbf1a.zip  | |
NFS do not find client in NFSv4 pg_authenticate
The information required to find the nfs_client cooresponding to the incoming
back channel request is contained in the NFS layer. Perform minimal checking
in the RPC layer pg_authenticate method, and push more detailed checking into
the NFS layer where the nfs_client can be found.
Signed-off-by: Andy Adamson <andros@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/callback_proc.c')
| -rw-r--r-- | fs/nfs/callback_proc.c | 10 | 
1 files changed, 2 insertions, 8 deletions
diff --git a/fs/nfs/callback_proc.c b/fs/nfs/callback_proc.c index 4bb91cb2620..829f406e91d 100644 --- a/fs/nfs/callback_proc.c +++ b/fs/nfs/callback_proc.c @@ -373,17 +373,11 @@ __be32 nfs4_callback_sequence(struct cb_sequenceargs *args,  {  	struct nfs_client *clp;  	int i; -	__be32 status; +	__be32 status = htonl(NFS4ERR_BADSESSION);  	cps->clp = NULL; -	status = htonl(NFS4ERR_BADSESSION); -	/* Incoming session must match the callback session */ -	if (memcmp(&args->csa_sessionid, cps->svc_sid, NFS4_MAX_SESSIONID_LEN)) -		goto out; - -	clp = nfs4_find_client_sessionid(args->csa_addr, -					 &args->csa_sessionid, 1); +	clp = nfs4_find_client_sessionid(args->csa_addr, &args->csa_sessionid);  	if (clp == NULL)  		goto out;  |