summaryrefslogtreecommitdiff
path: root/mm
diff options
context:
space:
mode:
authorChas Williams <chas3@att.com>2018-09-06 11:11:27 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-09-15 09:40:40 +0200
commite72977e87482759dba7181e0ec210c2db00c6124 (patch)
treec2bbb01157aaadfefc27716d50228110e0b13348 /mm
parenta50422747502a5f3b925a96f36f85e2412e798ec (diff)
Fixes: Commit cdbf92675fad ("mm: numa: avoid waiting on freed migrated pages")
Commit cdbf92675fad ("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>
Diffstat (limited to 'mm')
-rw-r--r--mm/huge_memory.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/huge_memory.c b/mm/huge_memory.c
index 0127b788272f..c4ea57ee2fd1 100644
--- a/mm/huge_memory.c
+++ b/mm/huge_memory.c
@@ -1393,12 +1393,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;
}