Messages in this thread | | | Date | Tue, 18 Dec 2007 04:24:04 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH] Fix crash with FLAT_MEMORY and ARCH_PFN_OFFSET != 0 |
| |
On Tue, 18 Dec 2007 13:03:00 +0100 (CET) Thomas Bogendoerfer <tsbogend@alpha.franken.de> wrote:
> When using FLAT_MEMORY and ARCH_PFN_OFFSET is not 0, the kernel > crashes in memmap_init_zone(). This bug got introduced by > commit c713216deebd95d2b0ab38fef8bb2361c0180c2d > > Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> > --- > > mm/page_alloc.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index b5a58d4..496f7f3 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -3427,7 +3427,7 @@ static void __init_refok alloc_node_mem_map(struct pglist_data *pgdat) > mem_map = NODE_DATA(0)->node_mem_map; > #ifdef CONFIG_ARCH_POPULATES_NODE_MAP > if (page_to_pfn(mem_map) != pgdat->node_start_pfn) > - mem_map -= pgdat->node_start_pfn; > + mem_map -= (pgdat->node_start_pfn - ARCH_PFN_OFFSET); > #endif /* CONFIG_ARCH_POPULATES_NODE_MAP */ > } > #endif
hm. It's rather non-trivial to verify that this will compile OK on all architectures.
| |