ARM: 7181/1: Restrict kprobes probing SWP instructions to ARMv5 and below
authorJon Medhurst (Tixy) <tixy@yxit.co.uk>
Tue, 29 Nov 2011 07:16:02 +0000 (08:16 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 30 Nov 2011 23:54:54 +0000 (23:54 +0000)
commitb5bed7fe801d1460424b7aeb6b06464e23d2a1e6
treed7908f55743de30fa49d5cf01ad2c5aeafebf8eb
parent14383c295ab48178c449336f5d74e9e615e36723
ARM: 7181/1: Restrict kprobes probing SWP instructions to ARMv5 and below

The SWP instruction is deprecated on ARMv6 and with ARMv7 it will be
UNDEFINED when CONFIG_SWP_EMULATE is selected. In this case, probing a
SWP instruction will cause an oops when the kprobes emulation code
executes an undefined instruction.

As the SWP instruction should be rare or non-existent in kernels for
ARMv6 and later, we can simply avoid these problems by not allowing
probing of these.

Reported-by: Leif Lindholm <leif.lindholm@arm.com>
Tested-by: Leif Lindholm <leif.lindholm@arm.com>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Jon Medhurst <tixy@yxit.co.uk>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/kprobes-arm.c
arch/arm/kernel/kprobes-test-arm.c