|
@@ -287,7 +287,7 @@ sparse_early_usemaps_alloc_pgdat_section(struct pglist_data *pgdat,
|
|
* from the same section as the pgdat where possible to avoid
|
|
* from the same section as the pgdat where possible to avoid
|
|
* this problem.
|
|
* this problem.
|
|
*/
|
|
*/
|
|
- goal = __pa(pgdat) & PAGE_SECTION_MASK;
|
|
|
|
|
|
+ goal = __pa(pgdat) & (PAGE_SECTION_MASK << PAGE_SHIFT);
|
|
host_pgdat = NODE_DATA(early_pfn_to_nid(goal >> PAGE_SHIFT));
|
|
host_pgdat = NODE_DATA(early_pfn_to_nid(goal >> PAGE_SHIFT));
|
|
return __alloc_bootmem_node_nopanic(host_pgdat, size,
|
|
return __alloc_bootmem_node_nopanic(host_pgdat, size,
|
|
SMP_CACHE_BYTES, goal);
|
|
SMP_CACHE_BYTES, goal);
|