diff options
author | Jon Medhurst <tixy@yxit.co.uk> | 2011-07-02 16:25:47 +0100 |
---|---|---|
committer | Tixy <tixy@medhuaa1.miniserver.com> | 2011-07-13 17:32:44 +0000 |
commit | 444956677eccfcdfe05de761e1286f62c423ce88 (patch) | |
tree | 1698366778eced1e27288f8c15fcbd4ad82eda87 /arch | |
parent | 5b94faf8d76be2116223c2591b31ddae5eecac2b (diff) | |
download | blackbird-op-linux-444956677eccfcdfe05de761e1286f62c423ce88.tar.gz blackbird-op-linux-444956677eccfcdfe05de761e1286f62c423ce88.zip |
ARM: kprobes: Reject 16-bit Thumb SVC and UNDEFINED instructions
SVC (SWI) instructions shouldn't occur in kernel code so we don't
need to be able to probe them.
Signed-off-by: Jon Medhurst <tixy@yxit.co.uk>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/kernel/kprobes-thumb.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/kernel/kprobes-thumb.c b/arch/arm/kernel/kprobes-thumb.c index e496948fefac..997fc6d59a40 100644 --- a/arch/arm/kernel/kprobes-thumb.c +++ b/arch/arm/kernel/kprobes-thumb.c @@ -464,6 +464,14 @@ const union decode_item kprobe_decode_thumb16_table[] = { /* LDM 1100 1xxx xxxx xxxx */ DECODE_EMULATE (0xf000, 0xc000, t16_emulate_loregs_rwflags), + /* + * Conditional branch, and Supervisor Call + */ + + /* Permanently UNDEFINED 1101 1110 xxxx xxxx */ + /* SVC 1101 1111 xxxx xxxx */ + DECODE_REJECT (0xfe00, 0xde00), + DECODE_END }; |