diff options
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r-- | mm/page_alloc.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index f8f3bfc435ee..d27e8b968ac3 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -656,6 +656,9 @@ static inline void set_page_guard(struct zone *zone, struct page *page, | |||
656 | return; | 656 | return; |
657 | 657 | ||
658 | page_ext = lookup_page_ext(page); | 658 | page_ext = lookup_page_ext(page); |
659 | if (unlikely(!page_ext)) | ||
660 | return; | ||
661 | |||
659 | __set_bit(PAGE_EXT_DEBUG_GUARD, &page_ext->flags); | 662 | __set_bit(PAGE_EXT_DEBUG_GUARD, &page_ext->flags); |
660 | 663 | ||
661 | INIT_LIST_HEAD(&page->lru); | 664 | INIT_LIST_HEAD(&page->lru); |
@@ -673,6 +676,9 @@ static inline void clear_page_guard(struct zone *zone, struct page *page, | |||
673 | return; | 676 | return; |
674 | 677 | ||
675 | page_ext = lookup_page_ext(page); | 678 | page_ext = lookup_page_ext(page); |
679 | if (unlikely(!page_ext)) | ||
680 | return; | ||
681 | |||
676 | __clear_bit(PAGE_EXT_DEBUG_GUARD, &page_ext->flags); | 682 | __clear_bit(PAGE_EXT_DEBUG_GUARD, &page_ext->flags); |
677 | 683 | ||
678 | set_page_private(page, 0); | 684 | set_page_private(page, 0); |