kernel_optimize_test/arch/arm/kernel
Nicolas Pitre ec706dab29 ARM: add a vma entry for the user accessible vector page
The kernel makes the high vector page visible to user space. This page
contains (amongst others) small code segments that can be executed in
user space.  Make this page visible through ptrace and /proc/<pid>/mem
in order to let gdb perform code parsing needed for proper unwinding.

For example, the ERESTART_RESTARTBLOCK handler actually has a stack
frame -- it returns to a PC value stored on the user's stack.   To
unwind after a "sleep" system call was interrupted twice, GDB would
have to recognize this situation and understand that stack frame
layout -- which it currently cannot do.

We could fix this by hard-coding addresses in the vector page range into
GDB, but that isn't really portable as not all of those addresses are
guaranteed to remain stable across kernel releases.  And having the gdb
process make an exception for this page and get  content from its own
address space for it looks strange, and it is not future proof either.

Being located above PAGE_OFFSET, this vma cannot be deleted by
user space code.

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
2010-10-01 22:35:19 -04:00
..
.gitignore
armksyms.c
arthur.c
asm-offsets.c
atags.c
atags.h
bios32.c
calls.S ARM: 6343/1: wire up fanotify and prlimit64 syscalls on ARM 2010-09-01 10:06:08 +01:00
compat.c
compat.h
crash_dump.c
crunch-bits.S
crunch.c
debug.S
dma-isa.c
dma.c
early_printk.c
ecard.c
ecard.h
elf.c
entry-armv.S
entry-common.S ARM: SECCOMP support 2010-10-01 22:32:18 -04:00
entry-header.S
etm.c Input: sysrq - drop tty argument from sysrq ops handlers 2010-08-19 22:07:06 -07:00
fiq.c
ftrace.c
head-common.S
head-nommu.S
head.S
init_task.c
io.c
irq.c
isa.c
iwmmxt.S
kgdb.c ARM: 6326/1: kgdb: fix GDB_MAX_REGS no longer used 2010-08-14 09:28:35 +01:00
kprobes-decode.c
kprobes.c
leds.c
machine_kexec.c
Makefile
module.c
perf_event.c ARM: 6352/1: perf: fix event validation 2010-09-02 16:36:42 +01:00
pmu.c
process.c ARM: add a vma entry for the user accessible vector page 2010-10-01 22:35:19 -04:00
ptrace.c
ptrace.h
relocate_kernel.S
return_address.c
setup.c
signal.c
signal.h
smp_scu.c
smp_twd.c
smp.c
stacktrace.c
sys_arm.c Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
sys_oabi-compat.c Mark arguments to certain syscalls as being const 2010-08-13 16:53:13 -07:00
tcm.c
tcm.h
thumbee.c
time.c
traps.c
unwind.c
vmlinux.lds.S
xscale-cp0.c