]> git.hungrycats.org Git - linux/commitdiff
Fixes: Commit 86af955d02bb ("mm: numa: avoid waiting on freed migrated pages")
authorChas Williams <chas3@att.com>
Thu, 6 Sep 2018 15:10:41 +0000 (11:10 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Sep 2018 06:33:52 +0000 (08:33 +0200)
Commit 86af955d02bb ("mm: numa: avoid waiting on freed migrated pages")
was an incomplete backport of the upstream commit.  It is necessary to
always reset page_nid before attempting any early exit.

The original commit conflicted due to lack of commit 82b0f8c39a38
("mm: join struct fault_env and vm_fault") in 4.9 so it wasn't a clean
application, and the change must have just gotten lost in the noise.

Signed-off-by: Chas Williams <chas3@att.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
mm/huge_memory.c

index 690d172436c48db7a22551b028aff8a4fdd5e8a9..bc402f39ac4881e2dc050be1a6eb7b01019f2d9c 100644 (file)
@@ -1329,12 +1329,12 @@ int do_huge_pmd_numa_page(struct mm_struct *mm, struct vm_area_struct *vma,
 
        /* Migration could have started since the pmd_trans_migrating check */
        if (!page_locked) {
+               page_nid = -1;
                if (!get_page_unless_zero(page))
                        goto out_unlock;
                spin_unlock(ptl);
                wait_on_page_locked(page);
                put_page(page);
-               page_nid = -1;
                goto out;
        }