* tip-bot for Ingo Molnar <mingo@xxxxxxx> wrote: > Commit-ID: fd0731944333db6e9e91b6954c6ef95f4b71ab04 > Gitweb: http://git.kernel.org/tip/fd0731944333db6e9e91b6954c6ef95f4b71ab04 > Author: Ingo Molnar <mingo@xxxxxxx> > AuthorDate: Wed, 29 Apr 2009 12:56:58 +0200 > Committer: Ingo Molnar <mingo@xxxxxxx> > CommitDate: Wed, 29 Apr 2009 13:01:18 +0200 > > x86, vmlinux.lds: fix relocatable symbols > > __init_begin/_end symbols should be inside sections as well, > otherwise the relocatable kernel gets confused when freeing > init sections in the wrong place. > > [ Impact: fix bootup crash ] > > Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> > Cc: Tim Abbott <tabbott@xxxxxxx> > Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > LKML-Reference: <20090429105056.GA28720@xxxxxxxxxxxxxxxxxxx> > Signed-off-by: Ingo Molnar <mingo@xxxxxxx> > > > --- > arch/x86/kernel/vmlinux.lds.S | 7 +++++-- > 1 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S > index 0bdbaa5..4c85b2e 100644 > --- a/arch/x86/kernel/vmlinux.lds.S > +++ b/arch/x86/kernel/vmlinux.lds.S > @@ -255,8 +255,8 @@ SECTIONS > > /* Init code and data - will be freed after init */ > . = ALIGN(PAGE_SIZE); > - __init_begin = .; /* paired with __init_end */ > .init.text : AT(ADDR(.init.text) - LOAD_OFFSET) { > + __init_begin = .; /* paired with __init_end */ > _sinittext = .; > INIT_TEXT > _einittext = .; > @@ -346,8 +346,11 @@ SECTIONS > #endif > > . = ALIGN(PAGE_SIZE); > + > /* freed after init ends here */ > - __init_end = .; > + .init.end : AT(ADDR(.init.end) - LOAD_OFFSET) { > + __init_end = .; > + } > > #ifdef CONFIG_X86_64 > .data_nosave : AT(ADDR(.data_nosave) - LOAD_OFFSET) { For the record - this fixed the crash i reported. No further problems so far, with about 200 test iterations on 7 boxes. Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html