staging/zcache: Fix memory leak while dropping an o2net_sock_container object
authorJie Liu <jeff.liu@oracle.com>
Sun, 4 Aug 2013 12:06:20 +0000 (20:06 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 5 Aug 2013 06:41:46 +0000 (14:41 +0800)
Free sc->sc_page when releasing a struct o2net_sock_container
object to avoid memory leaks.

This issue has been fixed by Younger Liu for OCFS2, so I sync
that patch to zcache as we share the same network code base.

Cc: Younger Liu <younger.liu@huawei.com>
Cc: Bob Liu <bob.liu@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Jie Liu <jeff.liu@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/zcache/ramster/tcp.c

index f6e1e5209d88586f6e33fc43138bed199fb239af..f74881e0934252beaf44cf23ff6fca208048ef68 100644 (file)
@@ -403,6 +403,9 @@ static void sc_kref_release(struct kref *kref)
        sc->sc_node = NULL;
 
        r2net_debug_del_sc(sc);
+
+       if (sc->sc_page)
+               __free_page(sc->sc_page);
        kfree(sc);
 }