linux/arch/um/kernel
David Gow 598f563036 um: Fix overlapping ELF segments when statically linked
When statically linked, the .text section in UML kernels is not page
aligned, causing it to share a page with the executable headers. As
.text and the executable headers have different permissions, this causes
the kernel to wish to map the same page twice (once as headers with r--
permissions, once as .text with r-x permissions), causing a segfault,
and a nasty message printed to the host kernel's dmesg:

"Uhuuh, elf segment at 0000000060000000 requested but the memory is
mapped already"

By aligning the .text to a page boundary (as in the dynamically linked
version in dyn.lds.S), there is no such overlap, and the kernel runs
correctly.

Signed-off-by: David Gow <davidgow@google.com>
Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
2020-03-29 23:21:29 +02:00
..
skas um: add support for folded p4d page tables 2019-12-04 19:44:15 -08:00
asm-offsets.c um: get rid of pointless include "..." where include <...> will do 2012-10-09 22:28:45 +02:00
config.c.in um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
dyn.lds.S Revert "um: Enable CONFIG_CONSTRUCTORS" 2020-01-19 22:42:06 +01:00
early_printk.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
exec.c um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
exitcode.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
gmon_syms.c um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
gprof_syms.c um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
initrd.c um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
irq.c um: irq: Fix LAST_IRQ usage in init_IRQ() 2019-09-16 08:38:58 +02:00
kmsg_dump.c um: Don't use console_drivers directly 2020-03-29 23:17:10 +02:00
ksyms.c um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
maccess.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
Makefile um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
mem.c um: add support for folded p4d page tables 2019-12-04 19:44:15 -08:00
physmem.c um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
process.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
ptrace.c um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
reboot.c um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
sigio.c um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
signal.c um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
stacktrace.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
syscall.c um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
sysrq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
time.c um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
tlb.c um: add support for folded p4d page tables 2019-12-04 19:44:15 -08:00
trap.c um: add support for folded p4d page tables 2019-12-04 19:44:15 -08:00
um_arch.c um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
umid.c um: Add SPDX headers to files in arch/um/kernel/ 2019-09-15 21:37:17 +02:00
uml.lds.S um: Fix overlapping ELF segments when statically linked 2020-03-29 23:21:29 +02: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