mm/hugetlb: clear compound_mapcount when freeing gigantic pages
[linux-2.6-block.git] / mm / hugetlb.c
index ee030216995977d19d687397bcc9f46aea42b3b9..c1f3c0be150a94f09588672ce44ade9047d78958 100644 (file)
@@ -1030,6 +1030,7 @@ static void destroy_compound_gigantic_page(struct page *page,
        int nr_pages = 1 << order;
        struct page *p = page + 1;
 
+       atomic_set(compound_mapcount_ptr(page), 0);
        for (i = 1; i < nr_pages; i++, p = mem_map_next(p, page, i)) {
                clear_compound_head(p);
                set_page_refcounted(p);