aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel
diff options
context:
space:
mode:
authorJon Medhurst <tixy@yxit.co.uk>2011-07-02 11:25:47 -0400
committerTixy <tixy@medhuaa1.miniserver.com>2011-07-13 13:32:44 -0400
commit444956677eccfcdfe05de761e1286f62c423ce88 (patch)
tree1698366778eced1e27288f8c15fcbd4ad82eda87 /arch/arm/kernel
parent5b94faf8d76be2116223c2591b31ddae5eecac2b (diff)
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/arm/kernel')
-rw-r--r--arch/arm/kernel/kprobes-thumb.c8
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[] = {
464 /* LDM 1100 1xxx xxxx xxxx */ 464 /* LDM 1100 1xxx xxxx xxxx */
465 DECODE_EMULATE (0xf000, 0xc000, t16_emulate_loregs_rwflags), 465 DECODE_EMULATE (0xf000, 0xc000, t16_emulate_loregs_rwflags),
466 466
467 /*
468 * Conditional branch, and Supervisor Call
469 */
470
471 /* Permanently UNDEFINED 1101 1110 xxxx xxxx */
472 /* SVC 1101 1111 xxxx xxxx */
473 DECODE_REJECT (0xfe00, 0xde00),
474
467 DECODE_END 475 DECODE_END
468}; 476};
469 477