Today's linux-next merge of the kvm-arm tree got conflicts in
mm/mprotect.c between c3d16e1652 (mm: migration: do not lose soft dirty
bit if page is in migration state) from Linus' tree and e920e14c (mm: Do
not flush TLB during protection change if !pte_present &&
!migration_entry) from the tip tree.

I've fixed up as below and can carry as required.

diff --cc mm/mprotect.c
index a3af058,a0302ac..0000000
--- a/mm/mprotect.c
+++ b/mm/mprotect.c
@@@ -100,12 -89,11 +90,12 @@@ static unsigned long change_pte_range(s
                                 * just be safe and disable write
                                 */
                                make_migration_entry_read(&entry);
 -                              set_pte_at(mm, addr, pte,
 -                                      swp_entry_to_pte(entry));
 -
 +                              newpte = swp_entry_to_pte(entry);
 +                              if (pte_swp_soft_dirty(oldpte))
 +                                      newpte = pte_swp_mksoft_dirty(newpte);
 +                              set_pte_at(mm, addr, pte, newpte);
+                               pages++;
                        }
-                       pages++;
                }
        } while (pte++, addr += PAGE_SIZE, addr != end);
        arch_leave_lazy_mmu_mode();

Attachment: signature.asc
Description: Digital signature

Reply via email to