]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
kprobes/arm: fix decoding of arithmetic immediate instructions
authorLennert Buytenhek <buytenh@wantstofly.org>
Thu, 1 May 2008 15:04:55 +0000 (11:04 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 10 May 2008 04:40:49 +0000 (21:40 -0700)
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>
arch/arm/kernel/kprobes-decode.c

index d51bc8b60557243cda3bef93c1e5d29a2c198eca..b4565bb133c1ebeadd6c3a8d3b3a1afdd9015a7e 100644 (file)
@@ -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;