Re: [PATCH] x86_64: remove kernel_physical_mapping_init() frominit section

From: Ingo Molnar
Date: Mon Jan 19 2009 - 18:32:59 EST



* Gary Hade <garyhade@xxxxxxxxxx> wrote:

> kernel_physical_mapping_init() is called during memory hotplug so it
> does not belong in the init section.
>
> If the kernel is built with CONFIG_DEBUG_SECTION_MISMATCH=y on the make
> command line, arch/x86/mm/init_64.c is compiled with the
> -fno-inline-functions-called-once gcc option defeating inlining of
> kernel_physical_mapping_init() within init_memory_mapping(). When
> kernel_physical_mapping_init() is not inlined it is placed in the
> .init.text section according to the __init in it's current declaration.
> A later call to kernel_physical_mapping_init() during a memory hotplug
> operation encounters an int3 trap because the .init.text section memory
> has been freed. This patch eliminates the crash caused by the int3 trap
> by moving the non-inlined kernel_physical_mapping_init() from .init.text
> to .meminit.text.
>
> Signed-off-by: Gary Hade <garyhade@xxxxxxxxxx>

applied to tip/x86/urgent, thanks Gary!

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/