diff options
Diffstat (limited to 'mm/page_isolation.c')
-rw-r--r-- | mm/page_isolation.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/mm/page_isolation.c b/mm/page_isolation.c index 755a42c76eb4..303c908790ef 100644 --- a/mm/page_isolation.c +++ b/mm/page_isolation.c | |||
@@ -101,7 +101,8 @@ void unset_migratetype_isolate(struct page *page, unsigned migratetype) | |||
101 | buddy_idx = __find_buddy_index(page_idx, order); | 101 | buddy_idx = __find_buddy_index(page_idx, order); |
102 | buddy = page + (buddy_idx - page_idx); | 102 | buddy = page + (buddy_idx - page_idx); |
103 | 103 | ||
104 | if (!is_migrate_isolate_page(buddy)) { | 104 | if (pfn_valid_within(page_to_pfn(buddy)) && |
105 | !is_migrate_isolate_page(buddy)) { | ||
105 | __isolate_free_page(page, order); | 106 | __isolate_free_page(page, order); |
106 | kernel_map_pages(page, (1 << order), 1); | 107 | kernel_map_pages(page, (1 << order), 1); |
107 | set_page_refcounted(page); | 108 | set_page_refcounted(page); |