kernel-fxtec-pro1x/arch/arm/kernel
Frederic Riss 2003b7af25 ARM: 5715/1: Make kprobes unregistration SMP safe
ARM kprobes use an illegal instruction to trigger kprobes. In the
current implementation, there's a race between the unregistration of a
kprobe and the illegal instruction exception handler if they run at the
same time on different cores.

When reading the value of the undefined instruction, the exception
handler might get the original legal instruction as just patched
concurrently by arch_disarm_kprobe(). When this happen the kprobe
handler won't run, and thus the exception handler will oops because it
believe it just hit an undefined instruction in kernel space.

The following patch synchronizes the code patching in the kprobes
unregistration using stop_machine and thus avoids the above race.

Signed-off-by: Frederic RISS <frederic.riss@gmail.com>
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-09-21 16:39:12 +01:00
..
.gitignore
armksyms.c [ARM] support tracing when using newer compilers 2009-08-13 20:34:36 +02:00
arthur.c
asm-offsets.c
atags.c
atags.h
bios32.c PCI: arm: use generic INTx swizzle from PCI core 2009-01-07 11:13:13 -08:00
calls.S ARM: 5677/1: ARM support for TIF_RESTORE_SIGMASK/pselect6/ppoll/epoll_pwait 2009-08-15 15:10:31 +01:00
compat.c
compat.h
crunch-bits.S
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
elf.c [ARM] disable NX support for OABI-supporting kernels 2009-05-23 11:36:20 +01:00
entry-armv.S Thumb-2: Correctly handle undefined instructions in the kernel 2009-09-18 23:30:11 +01:00
entry-common.S Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2009-09-14 17:48:14 -07:00
entry-header.S Clear the exclusive monitor when returning from an exception 2009-09-18 23:30:11 +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 Thumb-2: Implementation of the unified start-up and exceptions code 2009-07-24 12:32:54 +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 mm: consolidate init_mm definition 2009-06-16 19:47:28 -07:00
io.c
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
kprobes-decode.c
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
Makefile [ARM] 5613/1: implement CALLER_ADDRESSx 2009-07-21 17:21:28 +01:00
module.c Thumb-2: Add support for loadable modules 2009-07-24 12:32:59 +01:00
process.c Thumb-2: Implementation of the unified start-up and exceptions code 2009-07-24 12:32:54 +01:00
ptrace.c nommu: ptrace support 2009-07-24 12:34:58 +01:00
ptrace.h
relocate_kernel.S
return_address.c [ARM] 5613/1: implement CALLER_ADDRESSx 2009-07-21 17:21:28 +01:00
setup.c Thumb-2: Implementation of the unified start-up and exceptions code 2009-07-24 12:32:54 +01:00
signal.c Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2009-09-14 17:48:14 -07:00
signal.h
smp.c Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 into devel 2009-06-11 15:35:00 +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] smp: fix style issues in smp_twd.c 2009-05-17 19:16:41 +01:00
stacktrace.c [ARM] 5613/1: implement CALLER_ADDRESSx 2009-07-21 17:21:28 +01:00
sys_arm.c
sys_oabi-compat.c Separate out common fstatat code into vfs_fstatat 2009-04-20 23:02:51 -04:00
thumbee.c
time.c [ARM] 5382/1: unwind: Reorganise the stacktrace support 2009-02-12 13:21:17 +00:00
traps.c [ARM] 5383/2: unwind: Add core support for ARM stack unwinding 2009-02-19 11:26:24 +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-next 2009-07-04 07:13:18 +09:00
xscale-cp0.c