Loading arch/arm/include/asm/kprobes.h +3 −0 Original line number Diff line number Diff line Loading @@ -39,10 +39,13 @@ typedef u32 kprobe_opcode_t; struct kprobe; typedef void (kprobe_insn_handler_t)(struct kprobe *, struct pt_regs *); typedef unsigned long (kprobe_check_cc)(unsigned long); /* Architecture specific copy of original instruction. */ struct arch_specific_insn { kprobe_opcode_t *insn; kprobe_insn_handler_t *insn_handler; kprobe_check_cc *insn_check_cc; }; struct prev_kprobe { Loading arch/arm/kernel/kprobes-decode.c +457 −320 File changed.Preview size limit exceeded, changes collapsed. Show changes arch/arm/kernel/kprobes.c +2 −1 Original line number Diff line number Diff line Loading @@ -134,6 +134,7 @@ static void __kprobes singlestep(struct kprobe *p, struct pt_regs *regs, struct kprobe_ctlblk *kcb) { regs->ARM_pc += 4; if (p->ainsn.insn_check_cc(regs->ARM_cpsr)) p->ainsn.insn_handler(p, regs); } Loading Loading
arch/arm/include/asm/kprobes.h +3 −0 Original line number Diff line number Diff line Loading @@ -39,10 +39,13 @@ typedef u32 kprobe_opcode_t; struct kprobe; typedef void (kprobe_insn_handler_t)(struct kprobe *, struct pt_regs *); typedef unsigned long (kprobe_check_cc)(unsigned long); /* Architecture specific copy of original instruction. */ struct arch_specific_insn { kprobe_opcode_t *insn; kprobe_insn_handler_t *insn_handler; kprobe_check_cc *insn_check_cc; }; struct prev_kprobe { Loading
arch/arm/kernel/kprobes-decode.c +457 −320 File changed.Preview size limit exceeded, changes collapsed. Show changes
arch/arm/kernel/kprobes.c +2 −1 Original line number Diff line number Diff line Loading @@ -134,6 +134,7 @@ static void __kprobes singlestep(struct kprobe *p, struct pt_regs *regs, struct kprobe_ctlblk *kcb) { regs->ARM_pc += 4; if (p->ainsn.insn_check_cc(regs->ARM_cpsr)) p->ainsn.insn_handler(p, regs); } Loading