diff --git a/mm/migrate.c b/mm/migrate.c index 55dbc45880c6..f8c9bccf2520 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -139,8 +139,10 @@ static int remove_migration_pte(struct page *new, struct vm_area_struct *vma, pte = pte_mkold(mk_pte(new, vma->vm_page_prot)); if (is_write_migration_entry(entry)) pte = pte_mkwrite(pte); +#ifdef CONFIG_HUGETLB_PAGE if (PageHuge(new)) pte = pte_mkhuge(pte); +#endif flush_cache_page(vma, addr, pte_pfn(pte)); set_pte_at(mm, addr, ptep, pte);