From: Christoph Lameter Subject: Compound pages: Stricter check in __free_one_page() The page passed to destroy_compound_page() must be the head page. It is therefore possible to just check for the head page. Tail pages will make the flag check in __free Signed-off-by: Christoph Lameter --- mm/page_alloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: linux-2.6.25-rc8-mm1/mm/page_alloc.c =================================================================== --- linux-2.6.25-rc8-mm1.orig/mm/page_alloc.c 2008-04-02 20:37:50.022948780 -0700 +++ linux-2.6.25-rc8-mm1/mm/page_alloc.c 2008-04-02 20:49:01.382158514 -0700 @@ -444,7 +444,7 @@ static inline void __free_one_page(struc int order_size = 1 << order; int migratetype = get_pageblock_migratetype(page); - if (unlikely(PageCompound(page))) + if (unlikely(PageHead(page))) destroy_compound_page(page, order); page_idx = page_to_pfn(page) & ((1 << MAX_ORDER) - 1);