Bob Liu reported a memory leak in zswap.  This was due to the
under_reclaim field in the zbud header not being initialized
to 0, which resulted in zbud_free() not freeing the page
under the false assumption that the page was undergoing
zbud reclaim.

This patch properly initializes the under_reclaim field.

Signed-off-by: Seth Jennings <[email protected]>
Reported-by: Bob Liu <[email protected]>
---
 mm/zbud.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/mm/zbud.c b/mm/zbud.c
index d63ae6e..9bb4710 100644
--- a/mm/zbud.c
+++ b/mm/zbud.c
@@ -138,6 +138,7 @@ static struct zbud_header *init_zbud_page(struct page *page)
        zhdr->last_chunks = 0;
        INIT_LIST_HEAD(&zhdr->buddy);
        INIT_LIST_HEAD(&zhdr->lru);
+       zhdr->under_reclaim = 0;
        return zhdr;
 }
 
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to