diff options
Diffstat (limited to 'arch/arm/probes/decode.c')
-rw-r--r-- | arch/arm/probes/decode.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/arm/probes/decode.c b/arch/arm/probes/decode.c index c84053a81358..4464ff89f9a8 100644 --- a/arch/arm/probes/decode.c +++ b/arch/arm/probes/decode.c @@ -327,6 +327,7 @@ static bool __kprobes decode_regs(probes_opcode_t *pinsn, u32 regs, bool modify) return true; reject: + printk(KERN_ERR "decode_regs: reject\n"); return false; } @@ -455,8 +456,12 @@ probes_decode_insn(probes_opcode_t insn, struct arch_probes_insn *asi, if (!matched && (insn & h->mask.bits) != h->value.bits) continue; - if (!decode_regs(&insn, regs, emulate)) +// printk(KERN_ERR "probes_decode_insn: matched instruction, type %x\n", type); + + if (!decode_regs(&insn, regs, emulate)) { + printk(KERN_ERR "probes_decode_insn: decode regs failed\n"); return INSN_REJECTED; + } switch (type) { @@ -498,6 +503,9 @@ probes_decode_insn(probes_opcode_t insn, struct arch_probes_insn *asi, if (err == INSN_REJECTED) return INSN_REJECTED; +// printk(KERN_ERR "decode-emulate: action %#x\n", action); + + /* decoder and handler are unionized */ if (!emulate) return actions[action].decoder(insn, asi, h); |