]> git.ipfire.org Git - thirdparty/kernel/stable.git/blobdiff - mm/migrate.c
mm/memory.c: recheck page table entry with page table lock held
[thirdparty/kernel/stable.git] / mm / migrate.c
index e00814ca390ea46dab6174e3c7c183e7bd4faf73..cbb025239071ca21b13b9ccd41f11bfe0e50cc00 100644 (file)
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * Memory Migration functionality - linux/mm/migrate.c
  *
@@ -273,6 +274,9 @@ static bool remove_migration_pte(struct page *page, struct vm_area_struct *vma,
                if (vma->vm_flags & VM_LOCKED && !PageTransCompound(new))
                        mlock_vma_page(new);
 
+               if (PageTransHuge(page) && PageMlocked(page))
+                       clear_page_mlock(page);
+
                /* No need to invalidate - it was non-present before */
                update_mmu_cache(vma, pvmw.address, pvmw.pte);
        }