diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-10-26 08:09:46 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-10-26 08:09:46 -0400 |
commit | 141aeb9f26f9f12f1584c128ce8697cdffb046e7 (patch) | |
tree | 295953858e8ddd265a1d3dae18266b1198c55132 /fs | |
parent | 52567b03ca38b6e556ced450d64dba8d66e23b0e (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')
-rw-r--r-- | fs/nfs/nfs4proc.c | 4 |
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 | ||
3073 | static const struct rpc_call_ops nfs4_renew_ops = { | 3070 | 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 | 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 | ||