Patch "mm, meminit: ensure node is online before checking whether pages are uninitialised" has been added to the 4.6-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
mm, meminit: ensure node is online before checking whether pages are uninitialised
to the 4.6-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
mm-meminit-ensure-node-is-online-before-checking-whether-pages-are-uninitialised.patch
and it can be found in the queue-4.6 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
ef70b6f41cda6270165a6f27b2548ed31cfa3cb2Mon Sep 17 00:00:00 2001
From: Mel Gorman <[email protected]>
Date: Thu, 14 Jul 2016 12:07:23 -0700
Subject: mm, meminit: ensure node is online before checking whether pages are uninitialised
From: Mel Gorman <[email protected]>
commit ef70b6f41cda6270165a6f27b2548ed31cfa3cb2 upstream.
early_page_uninitialised looks up an arbitrary PFN. While a machine without node 0 will boot with "mm, page_alloc: Always return a valid node from early_pfn_to_nid", it works because it assumes that nodes are always in PFN order. This is not guaranteed so this patch adds robustness by always checking if the node being checked is online.
--- mm/page_alloc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
mm/page_alloc.c +3 -1
@@ -286,7 +286,9 @@ static inline void reset_deferred_memini/* Returns true if the struct page for the pfn is uninitialised */ static inline bool __meminit early_page_uninitialised (unsigned long pfn) { -if (pfn >=NODE_DATA (early_pfn_to_nid (pfn))->first_deferred_pfn) +int nid =early_pfn_to_nid (pfn); + +if (node_online (nid) && pfn >=NODE_DATA (nid)->first_deferred_pfn)return true;return false;
Patches currently in stable-queue which might be from [email protected] are
queue-4.6/mm-compaction-abort-free-scanner-if-split-fails.patch queue-4.6/sched-debug-fix-deadlock-when-enabling-sched-events.patch queue-4.6/mm-compaction-prevent-vm_bug_on-when-terminating-freeing-scanner.patch queue-4.6/mm-meminit-always-return-a-valid-node-from-early_pfn_to_nid.patch queue-4.6/mm-meminit-ensure-node-is-online-before-checking-whether-pages-are-uninitialised.patch queue-4.6/mm-slb-add-__gfp_atomic-to-the-gfp-reclaim-mask.patch