diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-19 17:33:41 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-19 17:33:41 -0400 |
commit | 3e1f900bff40460d7bbab0ccd1a9efc3c70aee49 (patch) | |
tree | d0e2138ff61bdc9d1bd5b7ae5a1e75267d709afc /net/sunrpc/auth.c | |
parent | 12795067cfa595434be0236b102a8eb20d578741 (diff) | |
parent | 0a87cf128f3d3bc6aa7b1040e73109c974ed875a (diff) |
Merge git://git.linux-nfs.org/pub/linux/nfs-2.6
* git://git.linux-nfs.org/pub/linux/nfs-2.6:
NFSv4: handle lack of clientaddr in option string
NFSv4: debug print ntohl(status) in nfs client callback xdr code
SUNRPC: Clean up the sillyrename code
NFS: Introduce struct nfs_removeargs+nfs_removeres
NFS: Use dentry->d_time to store the parent directory verifier.
SUNRPC: move bkl locking and xdr proc invocation into a common helper
NFSv4: Fix the nfsv4 readlink reply buffer alignment
NFSv4: Fix the readdir reply buffer alignment
NFSv4: More NFSv4 xdr cleanups
NFSv4: Try to recover from getfh failures in nfs4_xdr_dec_open
NFSv4: 'constify' lookup arguments.
NFSv4: Don't fail nfs4_xdr_dec_open if decode_restorefh() failed
NFSv4: Fix open state recovery
NFSD/SUNRPC: Fix the automatic selection of RPCSEC_GSS
Diffstat (limited to 'net/sunrpc/auth.c')
-rw-r--r-- | net/sunrpc/auth.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/net/sunrpc/auth.c b/net/sunrpc/auth.c index 29a8ecc60928..1ea27559b1de 100644 --- a/net/sunrpc/auth.c +++ b/net/sunrpc/auth.c | |||
@@ -13,7 +13,6 @@ | |||
13 | #include <linux/errno.h> | 13 | #include <linux/errno.h> |
14 | #include <linux/sunrpc/clnt.h> | 14 | #include <linux/sunrpc/clnt.h> |
15 | #include <linux/spinlock.h> | 15 | #include <linux/spinlock.h> |
16 | #include <linux/smp_lock.h> | ||
17 | 16 | ||
18 | #ifdef RPC_DEBUG | 17 | #ifdef RPC_DEBUG |
19 | # define RPCDBG_FACILITY RPCDBG_AUTH | 18 | # define RPCDBG_FACILITY RPCDBG_AUTH |
@@ -476,17 +475,13 @@ rpcauth_wrap_req(struct rpc_task *task, kxdrproc_t encode, void *rqstp, | |||
476 | __be32 *data, void *obj) | 475 | __be32 *data, void *obj) |
477 | { | 476 | { |
478 | struct rpc_cred *cred = task->tk_msg.rpc_cred; | 477 | struct rpc_cred *cred = task->tk_msg.rpc_cred; |
479 | int ret; | ||
480 | 478 | ||
481 | dprintk("RPC: %5u using %s cred %p to wrap rpc data\n", | 479 | dprintk("RPC: %5u using %s cred %p to wrap rpc data\n", |
482 | task->tk_pid, cred->cr_ops->cr_name, cred); | 480 | task->tk_pid, cred->cr_ops->cr_name, cred); |
483 | if (cred->cr_ops->crwrap_req) | 481 | if (cred->cr_ops->crwrap_req) |
484 | return cred->cr_ops->crwrap_req(task, encode, rqstp, data, obj); | 482 | return cred->cr_ops->crwrap_req(task, encode, rqstp, data, obj); |
485 | /* By default, we encode the arguments normally. */ | 483 | /* By default, we encode the arguments normally. */ |
486 | lock_kernel(); | 484 | return rpc_call_xdrproc(encode, rqstp, data, obj); |
487 | ret = encode(rqstp, data, obj); | ||
488 | unlock_kernel(); | ||
489 | return ret; | ||
490 | } | 485 | } |
491 | 486 | ||
492 | int | 487 | int |
@@ -494,7 +489,6 @@ rpcauth_unwrap_resp(struct rpc_task *task, kxdrproc_t decode, void *rqstp, | |||
494 | __be32 *data, void *obj) | 489 | __be32 *data, void *obj) |
495 | { | 490 | { |
496 | struct rpc_cred *cred = task->tk_msg.rpc_cred; | 491 | struct rpc_cred *cred = task->tk_msg.rpc_cred; |
497 | int ret; | ||
498 | 492 | ||
499 | dprintk("RPC: %5u using %s cred %p to unwrap rpc data\n", | 493 | dprintk("RPC: %5u using %s cred %p to unwrap rpc data\n", |
500 | task->tk_pid, cred->cr_ops->cr_name, cred); | 494 | task->tk_pid, cred->cr_ops->cr_name, cred); |
@@ -502,10 +496,7 @@ rpcauth_unwrap_resp(struct rpc_task *task, kxdrproc_t decode, void *rqstp, | |||
502 | return cred->cr_ops->crunwrap_resp(task, decode, rqstp, | 496 | return cred->cr_ops->crunwrap_resp(task, decode, rqstp, |
503 | data, obj); | 497 | data, obj); |
504 | /* By default, we decode the arguments normally. */ | 498 | /* By default, we decode the arguments normally. */ |
505 | lock_kernel(); | 499 | return rpc_call_xdrproc(decode, rqstp, data, obj); |
506 | ret = decode(rqstp, data, obj); | ||
507 | unlock_kernel(); | ||
508 | return ret; | ||
509 | } | 500 | } |
510 | 501 | ||
511 | int | 502 | int |