diff --git a/mm/migrate.c b/mm/migrate.c index 337a40201c827bd85e6a7cb9182a8589c96e2932..1e59a3f967e46eb17308a57934f19929083da66f 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -2346,7 +2346,8 @@ static int migrate_vma_collect_pmd(pmd_t *pmdp, ptep_get_and_clear(mm, addr, ptep); /* Setup special migration page table entry */ - entry = make_migration_entry(page, pte_write(pte)); + entry = make_migration_entry(page, mpfn & + MIGRATE_PFN_WRITE); swp_pte = swp_entry_to_pte(entry); if (pte_soft_dirty(pte)) swp_pte = pte_swp_mksoft_dirty(swp_pte);