summaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel
diff options
context:
space:
mode:
authorJon Medhurst <tixy@yxit.co.uk>2011-07-07 19:25:20 +0200
committerTixy <tixy@medhuaa1.miniserver.com>2011-07-13 19:32:51 +0200
commit0239269db6ba1ea908006fe309ade12991dd4e21 (patch)
tree1d067b5f75d97206cfe6267df974e069c94381bb /arch/arm/kernel
parentARM: kprobes: Reject probing of unprivileged load and store instructions (diff)
downloadlinux-0239269db6ba1ea908006fe309ade12991dd4e21.tar.xz
linux-0239269db6ba1ea908006fe309ade12991dd4e21.zip
ARM: kprobes: Decode ARM preload (immediate) instructions
These were missing from the previous implementation. Signed-off-by: Jon Medhurst <tixy@yxit.co.uk> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r--arch/arm/kernel/kprobes-arm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/kernel/kprobes-arm.c b/arch/arm/kernel/kprobes-arm.c
index 70e540b7c53b..8a58c99f658d 100644
--- a/arch/arm/kernel/kprobes-arm.c
+++ b/arch/arm/kernel/kprobes-arm.c
@@ -1139,6 +1139,12 @@ static const union decode_item arm_1111_table[] = {
/* PLD (immediate) 1111 0101 x101 xxxx xxxx xxxx xxxx xxxx */
DECODE_SIMULATE (0xfe300000, 0xf4100000, kprobe_simulate_nop),
+ /* memory hint 1111 0110 x001 xxxx xxxx xxxx xxx0 xxxx */
+ /* PLDI (register) 1111 0110 x101 xxxx xxxx xxxx xxx0 xxxx */
+ /* PLDW (register) 1111 0111 x001 xxxx xxxx xxxx xxx0 xxxx */
+ /* PLD (register) 1111 0111 x101 xxxx xxxx xxxx xxx0 xxxx */
+ DECODE_SIMULATE (0xfe300010, 0xf6100000, kprobe_simulate_nop),
+
/* BLX (immediate) 1111 101x xxxx xxxx xxxx xxxx xxxx xxxx */
DECODE_SIMULATE (0xfe000000, 0xfa000000, simulate_blx1),