aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc/auth.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2008-03-12 16:21:07 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2008-03-14 13:42:41 -0400
commit5c691044ecbca04dd558fca4c754121689fe1b34 (patch)
tree7a56b63c44766fcca0d7ac245ce0e19077b6f118 /net/sunrpc/auth.c
parent9a559efd4199c9812d339e23cc1b6055366b224f (diff)
SUNRPC: Add an rpc_credop callback for binding a credential to an rpc_task
We need the ability to treat 'generic' creds specially, since they want to bind instances of the auth cred instead of binding themselves. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc/auth.c')
-rw-r--r--net/sunrpc/auth.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/sunrpc/auth.c b/net/sunrpc/auth.c
index 012f2a320638..d65dd7940102 100644
--- a/net/sunrpc/auth.c
+++ b/net/sunrpc/auth.c
@@ -375,13 +375,14 @@ rpcauth_init_cred(struct rpc_cred *cred, const struct auth_cred *acred,
375} 375}
376EXPORT_SYMBOL_GPL(rpcauth_init_cred); 376EXPORT_SYMBOL_GPL(rpcauth_init_cred);
377 377
378static void 378void
379rpcauth_generic_bind_cred(struct rpc_task *task, struct rpc_cred *cred) 379rpcauth_generic_bind_cred(struct rpc_task *task, struct rpc_cred *cred)
380{ 380{
381 task->tk_msg.rpc_cred = get_rpccred(cred); 381 task->tk_msg.rpc_cred = get_rpccred(cred);
382 dprintk("RPC: %5u holding %s cred %p\n", task->tk_pid, 382 dprintk("RPC: %5u holding %s cred %p\n", task->tk_pid,
383 cred->cr_auth->au_ops->au_name, cred); 383 cred->cr_auth->au_ops->au_name, cred);
384} 384}
385EXPORT_SYMBOL_GPL(rpcauth_generic_bind_cred);
385 386
386static void 387static void
387rpcauth_bind_root_cred(struct rpc_task *task) 388rpcauth_bind_root_cred(struct rpc_task *task)
@@ -421,7 +422,7 @@ void
421rpcauth_bindcred(struct rpc_task *task, struct rpc_cred *cred, int flags) 422rpcauth_bindcred(struct rpc_task *task, struct rpc_cred *cred, int flags)
422{ 423{
423 if (cred != NULL) 424 if (cred != NULL)
424 rpcauth_generic_bind_cred(task, cred); 425 cred->cr_ops->crbind(task, cred);
425 else if (flags & RPC_TASK_ROOTCREDS) 426 else if (flags & RPC_TASK_ROOTCREDS)
426 rpcauth_bind_root_cred(task); 427 rpcauth_bind_root_cred(task);
427 else 428 else