Linux 4.4.30
[firefly-linux-kernel-4.4.55.git] / mm / page_alloc.c
index ce9d0d47ddc09f0e3b390a6e0ee6c3a17e8afcd9..2bcdfbf8c36d9a3c7fab44a553d62507c4d811cf 100644 (file)
@@ -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;