[Ocfs2-devel] [PATCH] ocfs2: Free sc->sc_page in sc_kref_release()

Li Zefan lizefan at huawei.com
Mon Jun 17 21:29:07 PDT 2013


On 2013/6/18 12:20, Jeff Liu wrote:
> On 06/18/2013 11:40 AM, Younger Liu wrote:
> 
>> There is a memory leak in sc_kref_release().
>> When free struct o2net_sock_container (sc), 
>> we should release sc->sc_page.
>>
>> Signed-off-by: Younger Liu <younger.liu at huawei.com>
> 
> Looks fine to me, thanks!
> 
> Reviewed-by: Jie Liu <jeff.liu at oracle.com>
> 
>> ---
>>  fs/ocfs2/cluster/tcp.c |    5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/fs/ocfs2/cluster/tcp.c b/fs/ocfs2/cluster/tcp.c
>> index aa88bd8..f0272b9 100644
>> --- a/fs/ocfs2/cluster/tcp.c
>> +++ b/fs/ocfs2/cluster/tcp.c
>> @@ -406,6 +406,11 @@ static void sc_kref_release(struct kref *kref)
>>  	sc->sc_node = NULL;
>>  
>>  	o2net_debug_del_sc(sc);
>> +
>> +	if (sc->sc_page) {
>> +		__free_page(sc->sc_page);
>> +		sc->sc_page = NULL;

But why set sc->sc_page to NULL, given sc is to be kfreed.

>> +	}
>>  	kfree(sc);
>>  }




More information about the Ocfs2-devel mailing list