summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorLennert Buytenhek <buytenh@wantstofly.org>2008-05-01 11:04:55 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2008-05-09 21:40:49 -0700
commitac5b631e8ffc2f63b3f23a5c03c13186b21b4a08 (patch)
treead88e9058b2b016afb8e77a4b86c27b467256f77 /arch
parent6d45756316559c7ee0e68b2541305a8867d8ef6f (diff)
downloadlinux-stable-ac5b631e8ffc2f63b3f23a5c03c13186b21b4a08.tar.gz
linux-stable-ac5b631e8ffc2f63b3f23a5c03c13186b21b4a08.tar.bz2
linux-stable-ac5b631e8ffc2f63b3f23a5c03c13186b21b4a08.zip
kprobes/arm: fix decoding of arithmetic immediate instructions
The ARM kprobes arithmetic immediate instruction decoder (space_cccc_001x()) was accidentally zero'ing out not only the Rn and Rd arguments, but the lower nibble of the immediate argument as well -- this patch fixes this. Mainline commit: a3fd133c24e16d430ba21f3d9f5c0b8faeeb37fe Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Acked-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/kernel/kprobes-decode.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/kernel/kprobes-decode.c b/arch/arm/kernel/kprobes-decode.c
index d51bc8b60557..b4565bb133c1 100644
--- a/arch/arm/kernel/kprobes-decode.c
+++ b/arch/arm/kernel/kprobes-decode.c
@@ -1176,7 +1176,7 @@ space_cccc_001x(kprobe_opcode_t insn, struct arch_specific_insn *asi)
* *S (bit 20) updates condition codes
* ADC/SBC/RSC reads the C flag
*/
- insn &= 0xfff00ff0; /* Rn = r0, Rd = r0 */
+ insn &= 0xfff00fff; /* Rn = r0, Rd = r0 */
asi->insn[0] = insn;
asi->insn_handler = (insn & (1 << 20)) ? /* S-bit */
emulate_alu_imm_rwflags : emulate_alu_imm_rflags;