diff options
Diffstat (limited to 'fs/nfs/callback_proc.c')
| -rw-r--r-- | fs/nfs/callback_proc.c | 12 | 
1 files changed, 3 insertions, 9 deletions
diff --git a/fs/nfs/callback_proc.c b/fs/nfs/callback_proc.c index 4bb91cb2620..89587573fe5 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; @@ -414,9 +408,9 @@ __be32 nfs4_callback_sequence(struct cb_sequenceargs *args,  	res->csr_highestslotid = NFS41_BC_MAX_CALLBACKS - 1;  	res->csr_target_highestslotid = NFS41_BC_MAX_CALLBACKS - 1;  	nfs4_cb_take_slot(clp); -	cps->clp = clp; /* put in nfs4_callback_compound */  out: +	cps->clp = clp; /* put in nfs4_callback_compound */  	for (i = 0; i < args->csa_nrclists; i++)  		kfree(args->csa_rclists[i].rcl_refcalls);  	kfree(args->csa_rclists);  |