diff --git a/mm/ksm.c b/mm/ksm.c index 62feb478a367349235e6d2131c6f26d1c4a667de..21bb3e7cf3bc73d60fac20872b05cef7b0ce957d 100644 --- a/mm/ksm.c +++ b/mm/ksm.c @@ -2727,8 +2727,8 @@ struct page *ksm_might_need_to_copy(struct page *page, return page; /* no need to copy it */ } else if (!anon_vma) { return page; /* no need to copy it */ - } else if (anon_vma->root == vma->anon_vma->root && - page->index == linear_page_index(vma, address)) { + } else if (page->index == linear_page_index(vma, address) && + anon_vma->root == vma->anon_vma->root) { return page; /* still no need to copy it */ } if (!PageUptodate(page))