diff options
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r-- | mm/page_alloc.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 2a67c3bd403a..8be81422d4bd 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -651,13 +651,10 @@ static bool free_pages_prepare(struct page *page, unsigned int order) | |||
651 | trace_mm_page_free_direct(page, order); | 651 | trace_mm_page_free_direct(page, order); |
652 | kmemcheck_free_shadow(page, order); | 652 | kmemcheck_free_shadow(page, order); |
653 | 653 | ||
654 | for (i = 0; i < (1 << order); i++) { | 654 | if (PageAnon(page)) |
655 | struct page *pg = page + i; | 655 | page->mapping = NULL; |
656 | 656 | for (i = 0; i < (1 << order); i++) | |
657 | if (PageAnon(pg)) | 657 | bad += free_pages_check(page + i); |
658 | pg->mapping = NULL; | ||
659 | bad += free_pages_check(pg); | ||
660 | } | ||
661 | if (bad) | 658 | if (bad) |
662 | return false; | 659 | return false; |
663 | 660 | ||