2017-06-25 12:50:31

by piaojun

[permalink] [raw]
Subject: [PATCH] ocfs2: free 'dummy_sc' in sc_fop_release() in case of memory leak

'sd->dbg_sock' is malloc in sc_common_open(), but not freed at the end
of sc_fop_release().

Signed-off-by: Jun Piao <[email protected]>
---
fs/ocfs2/cluster/netdebug.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/fs/ocfs2/cluster/netdebug.c b/fs/ocfs2/cluster/netdebug.c
index 564c504..74a21f6 100644
--- a/fs/ocfs2/cluster/netdebug.c
+++ b/fs/ocfs2/cluster/netdebug.c
@@ -426,6 +426,7 @@ static int sc_fop_release(struct inode *inode, struct file *file)
struct o2net_sock_container *dummy_sc = sd->dbg_sock;

o2net_debug_del_sc(dummy_sc);
+ kfree(dummy_sc);
return seq_release_private(inode, file);
}

--


2017-06-26 09:44:57

by Joseph Qi

[permalink] [raw]
Subject: Re: [Ocfs2-devel] [PATCH] ocfs2: free 'dummy_sc' in sc_fop_release() in case of memory leak



On 17/6/25 20:46, piaojun wrote:
> 'sd->dbg_sock' is malloc in sc_common_open(), but not freed at the end
> of sc_fop_release().
>
> Signed-off-by: Jun Piao <[email protected]>
Looks good.
Reviewed-by: Joseph Qi <[email protected]>

Thanks,
Joseph

> ---
> fs/ocfs2/cluster/netdebug.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/ocfs2/cluster/netdebug.c b/fs/ocfs2/cluster/netdebug.c
> index 564c504..74a21f6 100644
> --- a/fs/ocfs2/cluster/netdebug.c
> +++ b/fs/ocfs2/cluster/netdebug.c
> @@ -426,6 +426,7 @@ static int sc_fop_release(struct inode *inode, struct file *file)
> struct o2net_sock_container *dummy_sc = sd->dbg_sock;
>
> o2net_debug_del_sc(dummy_sc);
> + kfree(dummy_sc);
> return seq_release_private(inode, file);
> }
>