]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - mm/migrate.c
smsc75xx: use skb_cow_head() to deal with cloned skbs
[karo-tx-linux.git] / mm / migrate.c
index 9a0897a14d37be3d7759d577f98060fa75c7be0f..ed97c2c14fa80b47ffbf7fa22ec6d4b9b57202b1 100644 (file)
@@ -209,8 +209,11 @@ static int remove_migration_pte(struct page *page, struct vm_area_struct *vma,
 
        VM_BUG_ON_PAGE(PageTail(page), page);
        while (page_vma_mapped_walk(&pvmw)) {
-               new = page - pvmw.page->index +
-                       linear_page_index(vma, pvmw.address);
+               if (PageKsm(page))
+                       new = page;
+               else
+                       new = page - pvmw.page->index +
+                               linear_page_index(vma, pvmw.address);
 
                get_page(new);
                pte = pte_mkold(mk_pte(new, READ_ONCE(vma->vm_page_prot)));