linux/arch/arm/kernel
Russell King ab72b00734 ARM: Fix signal restart issues with NX and OABI compat
The signal restarting code was placed on the user stack when OABI
compatibility is enabled.  Unfortunately, with an EABI NX executable,
this results in an attempt to run code from the non-executable stack,
which segfaults the application.

Fix this by placing the code in the vectors page, along side the
signal return code, and directing the application to that code.

Reported-by: saeed bishara <saeed.bishara@gmail.com>
Tested-by: saeed bishara <saeed.bishara@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-10-25 15:39:37 +00:00
..
.gitignore [ARM] 5194/1: update .gitignore 2008-08-12 19:54:09 +01:00
Makefile Merge branch 'origin' into for-linus 2009-09-24 21:22:33 +01:00
armksyms.c [ARM] support tracing when using newer compilers 2009-08-13 20:34:36 +02:00
arthur.c [ARM] arm/kernel/arthur.c: add MODULE_LICENSE 2008-05-17 22:55:16 +01:00
asm-offsets.c arm: use kbuild.h instead of macros in asm-offsets.c 2008-04-29 08:06:29 -07:00
atags.c clean up atags exporting code 2008-05-30 10:33:49 +02:00
atags.h [ARM] 4736/1: Export atags to userspace and allow kexec to use customised atags 2008-02-04 13:21:03 +00:00
bios32.c PCI: arm: use generic INTx swizzle from PCI core 2009-01-07 11:13:13 -08:00
calls.S perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
compat.c
compat.h
crunch-bits.S [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
crunch.c [ARM] 5577/2: ep93xx: syscon locked register functions 2009-07-09 16:10:51 +01:00
debug.S [ARM] 5412/1: XSCALE: add ice dcc support 2009-02-27 20:57:46 +00:00
dma-isa.c [ARM] dma: make DMA_MODE_xxx reflect ISA DMA settings 2009-01-02 12:18:53 +00:00
dma.c [ARM] dma: remove dmamode_t typedef 2009-01-02 12:34:55 +00:00
ecard.c arm: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:43 -08:00
ecard.h [ARM] rpc: ecard: remove deprecated ecard_address() and relatives 2008-07-03 14:25:58 +01:00
elf.c [ARM] disable NX support for OABI-supporting kernels 2009-05-23 11:36:20 +01:00
entry-armv.S ARM: 5757/1: Thumb-2: Correct "mov.w pc, lr" instruction which is unpredictable 2009-10-14 10:33:05 +01:00
entry-common.S ARM: 5727/1: Pass IFSR register to do_PrefetchAbort() 2009-10-02 22:34:32 +01:00
entry-header.S ARM: 5757/1: Thumb-2: Correct "mov.w pc, lr" instruction which is unpredictable 2009-10-14 10:33:05 +01:00
fiq.c [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
ftrace.c small doc fix: ftrace_dyn_arch_init is called by ftrace_init 2008-12-12 11:15:45 +01:00
head-common.S ARM: 5739/1: ARM: allow empty ATAG_CORE 2009-10-02 22:32:34 +01:00
head-nommu.S nommu: Do not override the CP15 control reg value returned from initfunc 2009-07-24 12:34:59 +01:00
head.S Thumb-2: Implementation of the unified start-up and exceptions code 2009-07-24 12:32:54 +01:00
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
io.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
irq.c ARM: Show FIQ in /proc/interrupts on CONFIG_FIQ 2009-08-17 00:00:41 +01:00
isa.c [ARM] arch/arm/kernel/isa.c: missing definition of register_isa_ports 2009-01-08 15:53:08 +00:00
iwmmxt.S
kgdb.c kgdb, x86, arm, mips, powerpc: ignore user space single stepping 2008-09-26 10:36:41 -05:00
kprobes-decode.c [ARM] 5221/1: fix ldm/stm emulation for kprobes 2008-09-01 12:06:33 +01:00
kprobes.c ARM: 5715/1: Make kprobes unregistration SMP safe 2009-09-21 16:39:12 +01:00
machine_kexec.c [ARM] Storage class should be before const qualifier 2009-02-10 09:59:19 +00:00
module.c Thumb-2: Add support for loadable modules 2009-07-24 12:32:59 +01:00
process.c ARM: 5759/1: Add register information of threads to coredump 2009-10-14 10:33:05 +01:00
ptrace.c nommu: ptrace support 2009-07-24 12:34:58 +01:00
ptrace.h
relocate_kernel.S [ARM] 4736/1: Export atags to userspace and allow kexec to use customised atags 2008-02-04 13:21:03 +00:00
return_address.c [ARM] 5613/1: implement CALLER_ADDRESSx 2009-07-21 17:21:28 +01:00
setup.c ARM: 5580/2: ARM TCM (Tightly-Coupled Memory) support v3 2009-09-15 22:11:05 +01:00
signal.c ARM: Fix signal restart issues with NX and OABI compat 2009-10-25 15:39:37 +00:00
signal.h ARM: Fix signal restart issues with NX and OABI compat 2009-10-25 15:39:37 +00:00
smp.c ARM: Fix __cpuexit section mismatch warnings 2009-09-28 18:06:21 +01:00
smp_scu.c [ARM] 5516/1: Flush the D-cache after initialising the SCU 2009-05-28 13:52:05 +01:00
smp_twd.c ARM: Fix __cpuexit section mismatch warnings 2009-09-28 18:06:21 +01:00
stacktrace.c [ARM] 5613/1: implement CALLER_ADDRESSx 2009-07-21 17:21:28 +01:00
sys_arm.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
sys_oabi-compat.c Separate out common fstatat code into vfs_fstatat 2009-04-20 23:02:51 -04:00
tcm.c ARM: 5580/2: ARM TCM (Tightly-Coupled Memory) support v3 2009-09-15 22:11:05 +01:00
tcm.h ARM: 5580/2: ARM TCM (Tightly-Coupled Memory) support v3 2009-09-15 22:11:05 +01:00
thumbee.c Fix the teehbr_read function prototype 2008-11-10 14:14:11 +00:00
time.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
traps.c ARM: Fix signal restart issues with NX and OABI compat 2009-10-25 15:39:37 +00:00
unwind.c Thumb-2: Implementation of the unified start-up and exceptions code 2009-07-24 12:32:54 +01:00
vmlinux.lds.S Merge branch 'master' into for-linus 2009-09-22 21:01:40 +01:00
xscale-cp0.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00