aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/callback_proc.c
diff options
context:
space:
mode:
authorAndy Adamson <andros@netapp.com>2011-01-25 15:38:01 +0000
committerTrond Myklebust <Trond.Myklebust@netapp.com>2011-01-25 15:26:51 -0500
commit778be232a207e79088ba70d832ac25dfea6fbf1a (patch)
tree307249459e5ef45c4b3651c7fc5c454cdb3e0c92 /fs/nfs/callback_proc.c
parent80c30e8de4f81851b1f712bcc596e11d53bc76f1 (diff)
downloadkernel_samsung_smdk4412-778be232a207e79088ba70d832ac25dfea6fbf1a.zip
kernel_samsung_smdk4412-778be232a207e79088ba70d832ac25dfea6fbf1a.tar.gz
kernel_samsung_smdk4412-778be232a207e79088ba70d832ac25dfea6fbf1a.tar.bz2
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.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/fs/nfs/callback_proc.c b/fs/nfs/callback_proc.c
index 4bb91cb..829f406 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;