summaryrefslogtreecommitdiff
path: root/mm/page_alloc.c
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@linaro.org>2016-08-11 12:15:51 +0800
committerAlex Shi <alex.shi@linaro.org>2016-08-11 12:15:51 +0800
commit3d27bcb804a6889e8f16daf95751764907f1e100 (patch)
treeab7c1fa1ac90cf364262bb18edd269530a04a626 /mm/page_alloc.c
parentb0ba6b0a5eb2b51037a07dbf5a7470ca804d575c (diff)
parent133cec911c639d2cdf544ed602442951f702e08c (diff)
Merge tag 'v4.4.17' into linux-linaro-lsk-v4.4
This is the 4.4.17 stable release
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r--mm/page_alloc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 99c1738684ec..2bcdfbf8c36d 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -275,7 +275,9 @@ static inline void reset_deferred_meminit(pg_data_t *pgdat)
/* 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;
@@ -1057,7 +1059,7 @@ int __meminit early_pfn_to_nid(unsigned long pfn)
spin_lock(&early_pfn_lock);
nid = __early_pfn_to_nid(pfn, &early_pfnnid_cache);
if (nid < 0)
- nid = 0;
+ nid = first_online_node;
spin_unlock(&early_pfn_lock);
return nid;