From mboxrd@z Thu Jan 1 00:00:00 1970 From: shencanquan Date: Wed, 5 Jun 2013 19:11:41 +0800 Subject: [Ocfs2-devel] [PATCH] ocfs2: add missing lockres put in dlm_mig_lockres_handler In-Reply-To: <51AEFC8E.3080507@huawei.com> References: <51AEFC8E.3080507@huawei.com> Message-ID: <51AF1CED.6070109@huawei.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: ocfs2-devel@oss.oracle.com On 2013/6/5 16:53, Xue jiufei wrote: > dlm_mig_lockres_handler goes to leave, when lockres with state > DLM_LOCK_RES_RECOVERING, not putting lockres taken in dlm_lookup_lockres. it is obvious bug. it cause memory leak. Reviewed-by: shencanquan > Signed-off-by: joyce > --- > fs/ocfs2/dlm/dlmrecovery.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/fs/ocfs2/dlm/dlmrecovery.c b/fs/ocfs2/dlm/dlmrecovery.c > index a145cf8..241ced4 100644 > --- a/fs/ocfs2/dlm/dlmrecovery.c > +++ b/fs/ocfs2/dlm/dlmrecovery.c > @@ -1408,6 +1408,7 @@ int dlm_mig_lockres_handler(struct o2net_msg *msg, u32 len, void *data, > mres->lockname_len, mres->lockname); > ret = -EFAULT; > spin_unlock(&res->spinlock); > + dlm_lockres_put(res); > goto leave; > } > res->state |= DLM_LOCK_RES_MIGRATING;