提交 141aeb9f 编写于 作者: T Trond Myklebust

NFSv4: Fix two unbalanced put_rpccred() issues.

Commits 29fba38b (nfs41: lease renewal) and fc01cea9 (nfs41: sequence
operation) introduce a couple of put_rpccred() calls on credentials for
which there is no corresponding get_rpccred().

See http://bugzilla.kernel.org/show_bug.cgi?id=14249Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
上级 52567b03
...@@ -3065,9 +3065,6 @@ static void nfs4_renew_done(struct rpc_task *task, void *data) ...@@ -3065,9 +3065,6 @@ static void nfs4_renew_done(struct rpc_task *task, void *data)
if (time_before(clp->cl_last_renewal,timestamp)) if (time_before(clp->cl_last_renewal,timestamp))
clp->cl_last_renewal = timestamp; clp->cl_last_renewal = timestamp;
spin_unlock(&clp->cl_lock); spin_unlock(&clp->cl_lock);
dprintk("%s calling put_rpccred on rpc_cred %p\n", __func__,
task->tk_msg.rpc_cred);
put_rpccred(task->tk_msg.rpc_cred);
} }
static const struct rpc_call_ops nfs4_renew_ops = { static const struct rpc_call_ops nfs4_renew_ops = {
...@@ -4882,7 +4879,6 @@ void nfs41_sequence_call_done(struct rpc_task *task, void *data) ...@@ -4882,7 +4879,6 @@ void nfs41_sequence_call_done(struct rpc_task *task, void *data)
nfs41_sequence_free_slot(clp, task->tk_msg.rpc_resp); nfs41_sequence_free_slot(clp, task->tk_msg.rpc_resp);
dprintk("%s rpc_cred %p\n", __func__, task->tk_msg.rpc_cred); dprintk("%s rpc_cred %p\n", __func__, task->tk_msg.rpc_cred);
put_rpccred(task->tk_msg.rpc_cred);
kfree(task->tk_msg.rpc_argp); kfree(task->tk_msg.rpc_argp);
kfree(task->tk_msg.rpc_resp); kfree(task->tk_msg.rpc_resp);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册