aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2009-10-26 08:09:46 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2009-10-26 08:09:46 -0400
commit141aeb9f26f9f12f1584c128ce8697cdffb046e7 (patch)
tree295953858e8ddd265a1d3dae18266b1198c55132 /fs/nfs
parent52567b03ca38b6e556ced450d64dba8d66e23b0e (diff)
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=14249 Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/nfs4proc.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 65c252798861..ff37454fa783 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -3065,9 +3065,6 @@ static void nfs4_renew_done(struct rpc_task *task, void *data)
3065 if (time_before(clp->cl_last_renewal,timestamp)) 3065 if (time_before(clp->cl_last_renewal,timestamp))
3066 clp->cl_last_renewal = timestamp; 3066 clp->cl_last_renewal = timestamp;
3067 spin_unlock(&clp->cl_lock); 3067 spin_unlock(&clp->cl_lock);
3068 dprintk("%s calling put_rpccred on rpc_cred %p\n", __func__,
3069 task->tk_msg.rpc_cred);
3070 put_rpccred(task->tk_msg.rpc_cred);
3071} 3068}
3072 3069
3073static const struct rpc_call_ops nfs4_renew_ops = { 3070static const struct rpc_call_ops nfs4_renew_ops = {
@@ -4882,7 +4879,6 @@ void nfs41_sequence_call_done(struct rpc_task *task, void *data)
4882 nfs41_sequence_free_slot(clp, task->tk_msg.rpc_resp); 4879 nfs41_sequence_free_slot(clp, task->tk_msg.rpc_resp);
4883 dprintk("%s rpc_cred %p\n", __func__, task->tk_msg.rpc_cred); 4880 dprintk("%s rpc_cred %p\n", __func__, task->tk_msg.rpc_cred);
4884 4881
4885 put_rpccred(task->tk_msg.rpc_cred);
4886 kfree(task->tk_msg.rpc_argp); 4882 kfree(task->tk_msg.rpc_argp);
4887 kfree(task->tk_msg.rpc_resp); 4883 kfree(task->tk_msg.rpc_resp);
4888 4884