aboutsummaryrefslogtreecommitdiffstats
path: root/mm/page_isolation.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/page_isolation.c')
-rw-r--r--mm/page_isolation.c3
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);