|
@@ -101,7 +101,8 @@ void unset_migratetype_isolate(struct page *page, unsigned migratetype)
|
|
|
buddy_idx = __find_buddy_index(page_idx, order);
|
|
|
buddy = page + (buddy_idx - page_idx);
|
|
|
|
|
|
- if (!is_migrate_isolate_page(buddy)) {
|
|
|
+ if (pfn_valid_within(page_to_pfn(buddy)) &&
|
|
|
+ !is_migrate_isolate_page(buddy)) {
|
|
|
__isolate_free_page(page, order);
|
|
|
kernel_map_pages(page, (1 << order), 1);
|
|
|
set_page_refcounted(page);
|