diff --git a/mm/sparse.c b/mm/sparse.c index 8903c484389adfe18be39db99b29c5e5840ed296..5398d48c360a96efafe69a7e5ad2f590c7693a43 100644 --- a/mm/sparse.c +++ b/mm/sparse.c @@ -273,8 +273,8 @@ struct page __init *sparse_mem_map_populate(unsigned long pnum, int nid) if (map) return map; - map = alloc_bootmem_node(NODE_DATA(nid), - sizeof(struct page) * PAGES_PER_SECTION); + map = alloc_bootmem_pages_node(NODE_DATA(nid), + PAGE_ALIGN(sizeof(struct page) * PAGES_PER_SECTION)); return map; } #endif /* !CONFIG_SPARSEMEM_VMEMMAP */