diff --git a/[refs] b/[refs] index fbad0d1d4293..36ab5e94951f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ee2077d97b2f392cfc0b884775ac58aa9b9b8c8f +refs/heads/master: b5445f956ec3c8c19b760775e9ff92a160e3a167 diff --git a/trunk/mm/page_alloc.c b/trunk/mm/page_alloc.c index 40954fb81598..6d3550ca0282 100644 --- a/trunk/mm/page_alloc.c +++ b/trunk/mm/page_alloc.c @@ -2775,11 +2775,11 @@ unsigned long __meminit __absent_pages_in_range(int nid, if (i == -1) return 0; + prev_end_pfn = min(early_node_map[i].start_pfn, range_end_pfn); + /* Account for ranges before physical memory on this node */ if (early_node_map[i].start_pfn > range_start_pfn) - hole_pages = early_node_map[i].start_pfn - range_start_pfn; - - prev_end_pfn = early_node_map[i].start_pfn; + hole_pages = prev_end_pfn - range_start_pfn; /* Find all holes for the zone within the node */ for (; i != -1; i = next_active_region_index_in_nid(i, nid)) {