diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-09-15 19:32:13 +0200 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2009-09-16 02:49:33 +0200 |
commit | 5d351754fcf58d1a604aa7cf95c2805e8a098ad9 (patch) | |
tree | 814bccfcfbb841ec0b2be76bbfbe1b8b6b355ff1 /net/sunrpc/auth_generic.c | |
parent | nfsd4: fix null dereference creating nfsv4 callback client (diff) | |
download | linux-5d351754fcf58d1a604aa7cf95c2805e8a098ad9.tar.xz linux-5d351754fcf58d1a604aa7cf95c2805e8a098ad9.zip |
SUNRPC: Defer the auth_gss upcall when the RPC call is asynchronous
Otherwise, the upcall is going to be synchronous, which may not be what the
caller wants...
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'net/sunrpc/auth_generic.c')
-rw-r--r-- | net/sunrpc/auth_generic.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/sunrpc/auth_generic.c b/net/sunrpc/auth_generic.c index 4028502f0528..bf88bf8e9365 100644 --- a/net/sunrpc/auth_generic.c +++ b/net/sunrpc/auth_generic.c @@ -55,13 +55,13 @@ struct rpc_cred *rpc_lookup_machine_cred(void) EXPORT_SYMBOL_GPL(rpc_lookup_machine_cred); static void -generic_bind_cred(struct rpc_task *task, struct rpc_cred *cred) +generic_bind_cred(struct rpc_task *task, struct rpc_cred *cred, int lookupflags) { struct rpc_auth *auth = task->tk_client->cl_auth; struct auth_cred *acred = &container_of(cred, struct generic_cred, gc_base)->acred; struct rpc_cred *ret; - ret = auth->au_ops->lookup_cred(auth, acred, 0); + ret = auth->au_ops->lookup_cred(auth, acred, lookupflags); if (!IS_ERR(ret)) task->tk_msg.rpc_cred = ret; else |