Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755593AbaJNURM (ORCPT ); Tue, 14 Oct 2014 16:17:12 -0400 Received: from mail-oi0-f74.google.com ([209.85.218.74]:38472 "EHLO mail-oi0-f74.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755422AbaJNUQy (ORCPT ); Tue, 14 Oct 2014 16:16:54 -0400 From: Yu Zhao To: Andrew Morton , "Kirill A. Shutemov" , Mel Gorman , Rik van Riel , Ingo Molnar , Hugh Dickins , Sasha Levin , Bob Liu , Johannes Weiner , David Rientjes , Vlastimil Babka Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Yu Zhao Subject: [PATCH 2/2] mm: verify compound order when freeing a page Date: Tue, 14 Oct 2014 13:16:40 -0700 Message-Id: <1413317800-25450-2-git-send-email-yuzhao@google.com> X-Mailer: git-send-email 2.1.0.rc2.206.gedb03e5 In-Reply-To: <1413317800-25450-1-git-send-email-yuzhao@google.com> References: <1413317800-25450-1-git-send-email-yuzhao@google.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This allows us to easily catch the bug fixed in previous patch. Here we also verify whether a page is tail page or not -- tail pages are supposed to be freed along with their head, not by themselves. Signed-off-by: Yu Zhao --- mm/page_alloc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 736d8e1..2bcc770 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -750,6 +750,9 @@ static bool free_pages_prepare(struct page *page, unsigned int order) int i; int bad = 0; + VM_BUG_ON(PageTail(page)); + VM_BUG_ON(PageHead(page) && compound_order(page) != order); + trace_mm_page_free(page, order); kmemcheck_free_shadow(page, order); -- 2.1.0.rc2.206.gedb03e5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/