diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 755f35f4bc8badbe9c587f7b4d7a1c0a4aa7ff92..e6106d7e9eb04d3460692985167811faf943b8e1 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -7383,6 +7383,9 @@ bool has_unmovable_pages(struct zone *zone, struct page *page, int count,
 
 		page = pfn_to_page(check);
 
+		if (PageReserved(page))
+			return true;
+
 		/*
 		 * Hugepages are not in LRU lists, but they're movable.
 		 * We need not scan over tail pages bacause we don't