diff options
| -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)  			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); | 
