linux/arch/arm
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
..
boot Nicolas Pitre has a new email address 2009-09-15 09:37:12 -07:00
common ARM: 5696/1: Include device.h in VIC driver 2009-09-15 22:06:03 +01:00
configs Merge branch 'master' into devel 2009-09-12 12:04:37 +01:00
include/asm Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 2009-09-19 13:47:57 +01:00
kernel ARM: 5715/1: Make kprobes unregistration SMP safe 2009-09-21 16:39:12 +01:00
lib Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 2009-09-19 13:47:57 +01:00
mach-aaec2000
mach-at91 Merge branch 'devel-stable' into devel 2009-09-12 12:02:26 +01:00
mach-bcmring ARM: 5642/1: bcmring: add Makefile/Kconfig/Makefile.boot in mach-bcmring 2009-08-15 16:01:50 +01:00
mach-clps711x
mach-davinci ARM: includecheck fix: board-sffsdr.c 2009-07-25 17:07:02 +01:00
mach-ebsa110 [ARM] pass reboot command line to arch_reset() 2009-03-19 16:20:24 +00:00
mach-ep93xx Merge branch 'master' into devel 2009-09-12 12:04:37 +01:00
mach-footbridge
mach-gemini Gemini: Fix SRAM/ROM location after memory swap 2009-05-28 16:42:25 +03:00
mach-h720x
mach-integrator Merge branch 'devel-stable' into devel 2009-09-12 12:02:26 +01:00
mach-iop13xx dma-mapping: replace all DMA_64BIT_MASK macro with DMA_BIT_MASK(64) 2009-04-07 08:31:10 -07:00
mach-iop32x
mach-iop33x
mach-ixp4xx Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2009-09-14 10:37:28 -07:00
mach-ixp23xx [ARM] pass reboot command line to arch_reset() 2009-03-19 16:20:24 +00:00
mach-ixp2000
mach-kirkwood Merge branch 'master' into devel 2009-09-12 12:04:37 +01:00
mach-ks8695 ARM: 5637/1: [KS8695] Don't reference CLOCK_TICK_RATE in drivers 2009-08-05 22:06:56 +01:00
mach-l7200 [ARM] mach-l7200: fix spelling of SYS_CLOCK_OFF 2009-05-18 11:25:08 +01:00
mach-lh7a40x
mach-loki [ARM] add coherent DMA mask for mv643xx_eth 2009-05-22 17:05:53 -04:00
mach-mmp [ARM] pxa: add PWM devices support for pxa168/910 2009-06-05 10:32:06 +08:00
mach-msm
mach-mv78xx0 [ARM] orion: convert gpio to use gpiolib 2009-06-08 13:04:57 -04:00
mach-mx1 ARM: mxc: Fix i2c_board_info definitions 2009-08-14 12:40:37 +02:00
mach-mx2 mx21ads: Fix framebuffer platform data 2009-08-14 12:41:16 +02:00
mach-mx3 Merge branch 'master' into devel 2009-09-12 12:04:37 +01:00
mach-mx25 Freescale i.MX25 PDK (3ds) board support 2009-08-14 12:40:43 +02:00
mach-mxc91231 MXC: add iomux pins configuration support for MXC91231 2009-08-14 12:40:47 +02:00
mach-netx netx: Use get_irqnr_preamble to initialize base register 2009-08-13 20:34:36 +02:00
mach-nomadik [ARM] 5587/1: nomadik: add l2cc 2009-07-02 21:20:47 +01:00
mach-ns9xxx
mach-omap1 ARM: includecheck fix: mach-omap1/mcbsp.c 2009-07-25 17:08:22 +01:00
mach-omap2 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2009-09-14 17:48:14 -07:00
mach-orion5x [ARM] orion5x: Add LaCie NAS 2Big Network support 2009-09-08 14:10:35 -04:00
mach-pnx4008
mach-pxa ARM: spitz: fix touchscreen max presure 2009-09-19 12:14:06 +01:00
mach-realview Merge branch 'devel-stable' into devel 2009-09-12 12:02:26 +01:00
mach-rpc
mach-s3c24a0/include/mach ARM: S3C: move s3c_device_nand from plat-s3c24xx to plat-s3c 2009-07-31 00:10:24 +01:00
mach-s3c2400 [ARM] S3C24XX: GPIO: Fix error returns from gpio functions 2009-05-18 19:40:18 +01:00
mach-s3c2410 ARM: S3C: Add missing selection of S3C_DEV_NAND in machine Kconfigs. 2009-09-17 10:12:28 +01:00
mach-s3c2412 ARM: S3C: Add missing selection of S3C_DEV_NAND in machine Kconfigs. 2009-09-17 10:12:28 +01:00
mach-s3c2440 ARM: S3C: Add missing selection of S3C_DEV_NAND in machine Kconfigs. 2009-09-17 10:12:28 +01:00
mach-s3c2442 [ARM] GTA02: build fixes (s3c2410_nand_set usage) 2009-06-24 00:10:46 +01:00
mach-s3c2443 [ARM] S3C24XX: DMA: Split hardware regs out of <mach/dma.h> 2009-05-01 11:39:06 +01:00
mach-s3c6400 ARM: S3C: Add missing selection of S3C_DEV_NAND in machine Kconfigs. 2009-09-17 10:12:28 +01:00
mach-s3c6410 ARM: S3C: Add missing selection of S3C_DEV_NAND in machine Kconfigs. 2009-09-17 10:12:28 +01:00
mach-s5pc100 ARM: S5PC100: Board and configuration file 2009-08-16 23:40:39 +01:00
mach-sa1100 ARM: 5712/1: SA1100: initialise spinlock in DMA code 2009-09-20 12:55:49 +01:00
mach-shark [ARM] pass reboot command line to arch_reset() 2009-03-19 16:20:24 +00:00
mach-stmp37xx [ARM] 5539/1: Freescale STMP: onboard devices declaration 2009-06-04 14:16:45 +01:00
mach-stmp378x [ARM] 5539/1: Freescale STMP: onboard devices declaration 2009-06-04 14:16:45 +01:00
mach-u300 Merge branch 'master' into devel 2009-09-12 12:04:37 +01:00
mach-versatile Merge branch 'devel-stable' into devel 2009-09-12 12:02:26 +01:00
mach-w90x900 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2009-09-14 17:56:51 -07:00
mm ARM: Add support for checking access permissions on prefetch aborts 2009-09-20 16:53:40 +01:00
nwfpe [ARM] nwfpe: fix 'floatx80_is_nan' sparse warning 2009-05-15 12:49:14 +01:00
oprofile RealView: Move the IRQ_* definitions out of the board-*.h files 2009-05-30 14:00:17 +01:00
plat-iop Nicolas Pitre has a new email address 2009-09-15 09:37:12 -07:00
plat-mxc mx31: define various GPIOs used on mx31moboard 2009-08-14 12:41:09 +02:00
plat-omap Nicolas Pitre has a new email address 2009-09-15 09:37:12 -07:00
plat-orion [ARM] Kirkwood: __init requires linux/init.h 2009-08-24 11:55:59 -04:00
plat-pxa [ARM] pxa: use kzalloc() in pxa_init_gpio_chip() 2009-07-03 14:17:51 +08:00
plat-s3c ARM: s3c: fix check of index into s3c_gpios[] 2009-09-19 12:14:06 +01:00
plat-s3c24xx Merge branch 'master' into devel 2009-09-12 12:04:37 +01:00
plat-s3c64xx Merge branch 'next-s3c-fixes' of git://aeryn.fluff.org.uk/bjdooks/linux 2009-09-18 20:55:56 +01:00
plat-s5pc1xx ARM: S5PC100: Kconfigs and Makefiles 2009-08-16 23:35:19 +01:00
plat-stmp3xxx ARM: STMP3xxx: deallocation with negative index of descriptors[] 2009-09-19 12:14:05 +01:00
tools [ARM] Update mach-types 2009-09-18 21:42:01 +01:00
vfp Thumb-2: Implement the unified VFP support 2009-07-24 12:32:57 +01:00
Kconfig Merge branch 'devel-stable' into devel 2009-09-12 12:02:26 +01:00
Kconfig-nommu
Kconfig.debug Thumb-2: Add Thumb-2 support to the build files 2009-07-24 12:33:02 +01:00
Makefile Merge branch 'devel-stable' into devel 2009-09-12 12:02:26 +01:00