From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk1-f196.google.com ([209.85.222.196]:37461 "EHLO mail-qk1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730093AbeIFTqo (ORCPT ); Thu, 6 Sep 2018 15:46:44 -0400 Received: by mail-qk1-f196.google.com with SMTP id f17-v6so7547150qkh.4 for ; Thu, 06 Sep 2018 08:10:46 -0700 (PDT) From: Chas Williams <3chas3@gmail.com> To: stable@vger.kernel.org Cc: natechancellor@gmail.com, mark.rutland@arm.com, will.deacon@arm.com, steve.capper@arm.com, kirill.shutemov@linux.intel.com, vbabka@suse.cz, mgorman@suse.de, Chas Williams Subject: [PATCH][v3.18.y] Fixes: Commit 86af955d02bb ("mm: numa: avoid waiting on freed migrated pages") Date: Thu, 6 Sep 2018 11:10:41 -0400 Message-Id: <20180906151041.17597-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 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 --- 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 690d172436c4..bc402f39ac48 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -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; } -- 2.14.4