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-rc5-mm1/mm/page_alloc.c =================================================================== --- linux-2.6.25-rc5-mm1.orig/mm/page_alloc.c 2008-03-26 20:10:58.426668421 -0700 +++ linux-2.6.25-rc5-mm1/mm/page_alloc.c 2008-03-26 20:17:26.510418980 -0700 @@ -443,7 +443,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);