diff --git a/[refs] b/[refs] index 3185b5430bb0..dae520240864 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 240c879f20a605346705be24253bc9fc6fa8a106 +refs/heads/master: ae52a2adb5afa5ac5ec5fb5c7b24777f84b6c926 diff --git a/trunk/mm/ksm.c b/trunk/mm/ksm.c index 43bc893470b4..b5b907cb0f90 100644 --- a/trunk/mm/ksm.c +++ b/trunk/mm/ksm.c @@ -800,6 +800,8 @@ static int replace_page(struct vm_area_struct *vma, struct page *page, set_pte_at_notify(mm, addr, ptep, mk_pte(kpage, vma->vm_page_prot)); page_remove_rmap(page); + if (!page_mapped(page)) + try_to_free_swap(page); put_page(page); pte_unmap_unlock(ptep, ptl);