SUNRPC: Remove the tk_auth macro...
We should almost always be deferencing the rpc_auth struct by means of the credential's cr_auth field instead of the rpc_clnt->cl_auth anyway. Fix up that historical mistake, and remove the macro that propagated it. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
@@ -371,7 +371,7 @@ EXPORT_SYMBOL(rpcauth_init_cred);
|
||||
struct rpc_cred *
|
||||
rpcauth_bindcred(struct rpc_task *task)
|
||||
{
|
||||
struct rpc_auth *auth = task->tk_auth;
|
||||
struct rpc_auth *auth = task->tk_client->cl_auth;
|
||||
struct auth_cred acred = {
|
||||
.uid = current->fsuid,
|
||||
.gid = current->fsgid,
|
||||
@@ -381,7 +381,7 @@ rpcauth_bindcred(struct rpc_task *task)
|
||||
int flags = 0;
|
||||
|
||||
dprintk("RPC: %5u looking up %s cred\n",
|
||||
task->tk_pid, task->tk_auth->au_ops->au_name);
|
||||
task->tk_pid, task->tk_client->cl_auth->au_ops->au_name);
|
||||
get_group_info(acred.group_info);
|
||||
if (task->tk_flags & RPC_TASK_ROOTCREDS)
|
||||
flags |= RPCAUTH_LOOKUP_ROOTCREDS;
|
||||
@@ -397,11 +397,12 @@ rpcauth_bindcred(struct rpc_task *task)
|
||||
void
|
||||
rpcauth_holdcred(struct rpc_task *task)
|
||||
{
|
||||
dprintk("RPC: %5u holding %s cred %p\n",
|
||||
task->tk_pid, task->tk_auth->au_ops->au_name,
|
||||
task->tk_msg.rpc_cred);
|
||||
if (task->tk_msg.rpc_cred)
|
||||
get_rpccred(task->tk_msg.rpc_cred);
|
||||
struct rpc_cred *cred = task->tk_msg.rpc_cred;
|
||||
if (cred != NULL) {
|
||||
get_rpccred(cred);
|
||||
dprintk("RPC: %5u holding %s cred %p\n", task->tk_pid,
|
||||
cred->cr_auth->au_ops->au_name, cred);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
@@ -441,7 +442,7 @@ rpcauth_unbindcred(struct rpc_task *task)
|
||||
struct rpc_cred *cred = task->tk_msg.rpc_cred;
|
||||
|
||||
dprintk("RPC: %5u releasing %s cred %p\n",
|
||||
task->tk_pid, task->tk_auth->au_ops->au_name, cred);
|
||||
task->tk_pid, cred->cr_auth->au_ops->au_name, cred);
|
||||
|
||||
put_rpccred(cred);
|
||||
task->tk_msg.rpc_cred = NULL;
|
||||
@@ -453,7 +454,7 @@ rpcauth_marshcred(struct rpc_task *task, __be32 *p)
|
||||
struct rpc_cred *cred = task->tk_msg.rpc_cred;
|
||||
|
||||
dprintk("RPC: %5u marshaling %s cred %p\n",
|
||||
task->tk_pid, task->tk_auth->au_ops->au_name, cred);
|
||||
task->tk_pid, cred->cr_auth->au_ops->au_name, cred);
|
||||
|
||||
return cred->cr_ops->crmarshal(task, p);
|
||||
}
|
||||
@@ -464,7 +465,7 @@ rpcauth_checkverf(struct rpc_task *task, __be32 *p)
|
||||
struct rpc_cred *cred = task->tk_msg.rpc_cred;
|
||||
|
||||
dprintk("RPC: %5u validating %s cred %p\n",
|
||||
task->tk_pid, task->tk_auth->au_ops->au_name, cred);
|
||||
task->tk_pid, cred->cr_auth->au_ops->au_name, cred);
|
||||
|
||||
return cred->cr_ops->crvalidate(task, p);
|
||||
}
|
||||
@@ -505,7 +506,7 @@ rpcauth_refreshcred(struct rpc_task *task)
|
||||
int err;
|
||||
|
||||
dprintk("RPC: %5u refreshing %s cred %p\n",
|
||||
task->tk_pid, task->tk_auth->au_ops->au_name, cred);
|
||||
task->tk_pid, cred->cr_auth->au_ops->au_name, cred);
|
||||
|
||||
err = cred->cr_ops->crrefresh(task);
|
||||
if (err < 0)
|
||||
@@ -519,7 +520,7 @@ rpcauth_invalcred(struct rpc_task *task)
|
||||
struct rpc_cred *cred = task->tk_msg.rpc_cred;
|
||||
|
||||
dprintk("RPC: %5u invalidating %s cred %p\n",
|
||||
task->tk_pid, task->tk_auth->au_ops->au_name, cred);
|
||||
task->tk_pid, cred->cr_auth->au_ops->au_name, cred);
|
||||
if (cred)
|
||||
clear_bit(RPCAUTH_CRED_UPTODATE, &cred->cr_flags);
|
||||
}
|
||||
|
@@ -906,7 +906,7 @@ gss_validate(struct rpc_task *task, __be32 *p)
|
||||
goto out_bad;
|
||||
/* We leave it to unwrap to calculate au_rslack. For now we just
|
||||
* calculate the length of the verifier: */
|
||||
task->tk_auth->au_verfsize = XDR_QUADLEN(len) + 2;
|
||||
cred->cr_auth->au_verfsize = XDR_QUADLEN(len) + 2;
|
||||
gss_put_ctx(ctx);
|
||||
dprintk("RPC: %5u gss_validate: gss_verify_mic succeeded.\n",
|
||||
task->tk_pid);
|
||||
@@ -1206,7 +1206,7 @@ gss_unwrap_resp(struct rpc_task *task,
|
||||
break;
|
||||
}
|
||||
/* take into account extra slack for integrity and privacy cases: */
|
||||
task->tk_auth->au_rslack = task->tk_auth->au_verfsize + (p - savedp)
|
||||
cred->cr_auth->au_rslack = cred->cr_auth->au_verfsize + (p - savedp)
|
||||
+ (savedlen - head->iov_len);
|
||||
out_decode:
|
||||
status = decode(rqstp, p, obj);
|
||||
|
@@ -204,7 +204,7 @@ unx_validate(struct rpc_task *task, __be32 *p)
|
||||
printk("RPC: giant verf size: %u\n", size);
|
||||
return NULL;
|
||||
}
|
||||
task->tk_auth->au_rslack = (size >> 2) + 2;
|
||||
task->tk_msg.rpc_cred->cr_auth->au_rslack = (size >> 2) + 2;
|
||||
p += (size >> 2);
|
||||
|
||||
return p;
|
||||
|
@@ -787,7 +787,7 @@ call_reserveresult(struct rpc_task *task)
|
||||
static void
|
||||
call_allocate(struct rpc_task *task)
|
||||
{
|
||||
unsigned int slack = task->tk_auth->au_cslack;
|
||||
unsigned int slack = task->tk_msg.rpc_cred->cr_auth->au_cslack;
|
||||
struct rpc_rqst *req = task->tk_rqstp;
|
||||
struct rpc_xprt *xprt = task->tk_xprt;
|
||||
struct rpc_procinfo *proc = task->tk_msg.rpc_proc;
|
||||
|
Reference in New Issue
Block a user