From 5cea1d70d2e7a66fabcf672364f1839f3bd00b59 Mon Sep 17 00:00:00 2001 From: Hugh Dickins Date: Wed, 19 Oct 2011 12:50:35 -0700 Subject: [PATCH] --- yaml --- r: 264370 b: refs/heads/master c: 486cf46f3f9be5f2a966016c1a8fe01e32cde09e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/mm/migrate.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 2139be3447d9..ec73a3a10172 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e4fcd69c9e4e273352e0f87cabd9648606da0c3e +refs/heads/master: 486cf46f3f9be5f2a966016c1a8fe01e32cde09e diff --git a/trunk/mm/migrate.c b/trunk/mm/migrate.c index 666e4e677414..14d0a6a632f6 100644 --- a/trunk/mm/migrate.c +++ b/trunk/mm/migrate.c @@ -120,10 +120,10 @@ static int remove_migration_pte(struct page *new, struct vm_area_struct *vma, ptep = pte_offset_map(pmd, addr); - if (!is_swap_pte(*ptep)) { - pte_unmap(ptep); - goto out; - } + /* + * Peek to check is_swap_pte() before taking ptlock? No, we + * can race mremap's move_ptes(), which skips anon_vma lock. + */ ptl = pte_lockptr(mm, pmd); }