linux-uconsole/arch/um/kernel
Richard Weinberger f412651038 um: remove PAGE_SIZE alignment in linker script causing kernel segfault.
commit 6915e04f88 upstream.

The linker script cleanup that I did in commit 5d150a97f9 ("um: Clean up
linker script using standard macros.") (2.6.32) accidentally introduced an
ALIGN(PAGE_SIZE) when converting to use INIT_TEXT_SECTION; Richard
Weinberger reported that this causes the kernel to segfault with
CONFIG_STATIC_LINK=y.

I'm not certain why this extra alignment is a problem, but it seems likely
it is because previously

__init_begin = _stext = _text = _sinittext

and with the extra ALIGN(PAGE_SIZE), _sinittext becomes different from the
rest.  So there is likely a bug here where something is assuming that
_sinittext is the same as one of those other symbols.  But reverting the
accidental change fixes the regression, so it seems worth committing that
now.

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
Reported-by: Richard Weinberger <richard@nod.at>
Cc: Jeff Dike <jdike@addtoit.com>
Tested by: Antoine Martin <antoine@nagafix.co.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:26:37 -08:00
..
skas uml: fix order of pud and pmd_free() 2009-09-22 07:17:45 -07:00
asm-offsets.c [PATCH] uml: fix missing KBUILD_BASENAME 2006-01-11 18:42:09 -08:00
config.c.in uml: remove useless comments 2009-04-01 08:59:17 -07:00
dyn.lds.S um: Clean up linker script using standard macros. 2009-09-24 17:16:22 -07:00
exec.c x86, um: get rid of uml unistd.h 2008-10-22 22:55:21 -07:00
exitcode.c proc: remove proc_root from drivers 2008-04-29 08:06:18 -07:00
gmon_syms.c uml: style fixes in arch/um/kernel 2008-02-05 09:44:30 -08:00
gprof_syms.c uml: style fixes in arch/um/kernel 2008-02-05 09:44:30 -08:00
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
initrd.c uml: fix initrd printk 2008-02-23 17:12:13 -08:00
internal.h x86, um: get rid of uml unistd.h 2008-10-22 22:55:21 -07:00
irq.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
ksyms.c arch/um/kernel/mem.c: remove arch_validate() 2008-07-24 10:47:24 -07:00
Makefile arm, cris, mips, sparc, powerpc, um, xtensa: fix build with bash 4.0 2009-09-20 12:28:22 +02:00
mem.c arches: drop superfluous casts in nr_free_pages() callers 2009-09-22 07:17:34 -07:00
physmem.c UML: make several more things static 2008-07-24 10:47:24 -07:00
process.c Simplify copy_thread() 2009-04-02 19:04:51 -07:00
ptrace.c UML on UML fixed: it did not start 2009-03-12 16:20:23 -07:00
reboot.c uml: style fixes in arch/um/kernel 2008-02-05 09:44:30 -08:00
sigio.c uml: style fixes in arch/um/kernel 2008-02-05 09:44:30 -08:00
signal.c x86, um: sanitize uml sigcontext.h uses 2008-10-22 22:55:20 -07:00
smp.c cpumask: Use accessors for cpu_*_mask: um 2009-09-24 09:34:49 +09:30
syscall.c untangle the do_mremap() mess 2010-01-18 10:19:11 -08:00
sysrq.c Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
time.c clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
tlb.c uml: style fixes in arch/um/kernel 2008-02-05 09:44:30 -08:00
trap.c Move FAULT_FLAG_xyz into handle_mm_fault() callers 2009-06-21 13:08:22 -07:00
uaccess.c UML: make several more things static 2008-07-24 10:47:24 -07:00
um_arch.c uml: deal with inaccessible address space start 2008-06-06 11:29:10 -07:00
umid.c uml: style fixes in arch/um/kernel 2008-02-05 09:44:30 -08:00
uml.lds.S um: remove PAGE_SIZE alignment in linker script causing kernel segfault. 2010-12-09 13:26:37 -08:00
vmlinux.lds.S arm, cris, mips, sparc, powerpc, um, xtensa: fix build with bash 4.0 2009-09-20 12:28:22 +02:00