From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: linux-arm-kernel@lists.infradead.org, will.deacon@arm.com,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Cc: catalin.marinas@arm.com, akpm@linux-foundation.org,
hanjun.guo@linaro.org, xieyisheng1@huawei.com,
rrichter@cavium.com, james.morse@arm.com,
Ard Biesheuvel <ard.biesheuvel@linaro.org>
Subject: [PATCH 0/2] arm64: numa: fix spurious BUG() on NOMAP regions
Date: Wed, 14 Dec 2016 09:11:45 +0000 [thread overview]
Message-ID: <1481706707-6211-1-git-send-email-ard.biesheuvel@linaro.org> (raw)
This fixes the issue reported by Robert Richter where the fact that
the node id of struct pages covered by NOMAP regions is not initialized,
triggering a VM_BUG_ON() in the mm code.
I know that this approach is the least preferred option by Robert, but it
has been used successfully in the downstream Linaro Enterprise kernel,
running on HiSilicon D05, which suffered from the same issue as Cavium
ThunderX where it was originally reported.
Given that the other proposed solutions either fail to solve the issue
completely, or cause regressions in other code (hibernate), I think this
issue is appropriate for merging now, and backported to -stable. If there
are performance concerns, we can try to improve on this solution, which
could include reverting patch #2 altogether, for all I care.
Patch #1 fixes a bug in the generic mm code where a struct page is
dereferenced before pfn_valid() is called. This should probably go to
stable regardless of where the arm64 discussion goes.
Patch #2 enables CONFIG_HOLES_IN_ZONE for arm64 numa, causing the kernel
to no longer assume that all pages in a zone have valid struct pages
associated with them.
Ard Biesheuvel (2):
mm: don't dereference struct page fields of invalid pages
arm64: mm: enable CONFIG_HOLES_IN_ZONE for NUMA
arch/arm64/Kconfig | 4 ++++
mm/page_alloc.c | 6 +++---
2 files changed, 7 insertions(+), 3 deletions(-)
--
2.7.4
next reply other threads:[~2016-12-14 9:12 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-14 9:11 Ard Biesheuvel [this message]
2016-12-14 9:11 ` [PATCH 1/2] mm: don't dereference struct page fields of invalid pages Ard Biesheuvel
2017-01-04 12:16 ` Will Deacon
2016-12-14 9:11 ` [PATCH 2/2] arm64: mm: enable CONFIG_HOLES_IN_ZONE for NUMA Ard Biesheuvel
2016-12-15 15:39 ` Robert Richter
2016-12-15 16:07 ` Ard Biesheuvel
2016-12-16 17:10 ` Robert Richter
2016-12-16 1:57 ` Hanjun Guo
2016-12-16 17:14 ` Robert Richter
2017-01-04 13:28 ` Will Deacon
2017-01-04 13:50 ` Ard Biesheuvel
2017-01-04 14:02 ` Will Deacon
2017-01-05 11:24 ` Robert Richter
2017-01-05 12:08 ` Will Deacon
2017-01-05 12:22 ` Robert Richter
2017-01-05 19:49 ` Robert Richter
2017-01-06 12:03 ` Will Deacon
2017-01-06 12:22 ` Ard Biesheuvel
2017-02-06 13:36 ` Robert Richter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1481706707-6211-1-git-send-email-ard.biesheuvel@linaro.org \
--to=ard.biesheuvel@linaro.org \
--cc=akpm@linux-foundation.org \
--cc=catalin.marinas@arm.com \
--cc=hanjun.guo@linaro.org \
--cc=james.morse@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=rrichter@cavium.com \
--cc=will.deacon@arm.com \
--cc=xieyisheng1@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).