From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt0-f196.google.com ([209.85.216.196]:38481 "EHLO mail-qt0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726366AbeIETOB (ORCPT ); Wed, 5 Sep 2018 15:14:01 -0400 Received: by mail-qt0-f196.google.com with SMTP id x7-v6so8338488qtk.5 for ; Wed, 05 Sep 2018 07:43:30 -0700 (PDT) From: Chas Williams <3chas3@gmail.com> To: stable@vger.kernel.org Cc: mark.rutland@arm.com, natechancellor@gmail.com, Chas Williams Subject: [PATCH] Fixes: Commit 2aa6d036b716 ("mm: numa: avoid waiting on freed migrated pages") Date: Wed, 5 Sep 2018 10:43:17 -0400 Message-Id: <20180905144317.9652-1-3chas3@gmail.com> In-Reply-To: <20180905085852.8122-1-3chas3@gmail.com> References: <20180905085852.8122-1-3chas3@gmail.com> Sender: stable-owner@vger.kernel.org List-ID: From: Chas Williams Commit 2aa6d036b716 ("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 --- mm/huge_memory.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 9efe88ef9702..e4c6c3edaf6a 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -1259,12 +1259,12 @@ int do_huge_pmd_numa_page(struct fault_env *fe, pmd_t pmd) /* 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(fe->ptl); wait_on_page_locked(page); put_page(page); - page_nid = -1; goto out; } -- 2.14.4