sparc64/kprobes: Don't call the ->break_handler() in sparc64 kprobes code

Don't call the ->break_handler() from the sparc64 kprobes code,
because it was only used by jprobes which got removed.

Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: David S. Miller <davem@davemloft.net>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: linux-arch@vger.kernel.org
Cc: sparclinux@vger.kernel.org
Link: https://lore.kernel.org/lkml/152942491684.15209.8114703769135529984.stgit@devbox
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Masami Hiramatsu 2018-06-20 01:15:17 +09:00 committed by Ingo Molnar
parent fa5a24b16f
commit d5ad85b6d9
1 changed files with 2 additions and 9 deletions

View File

@ -147,18 +147,12 @@ static int __kprobes kprobe_handler(struct pt_regs *regs)
kcb->kprobe_status = KPROBE_REENTER; kcb->kprobe_status = KPROBE_REENTER;
prepare_singlestep(p, regs, kcb); prepare_singlestep(p, regs, kcb);
return 1; return 1;
} else { } else if (*(u32 *)addr != BREAKPOINT_INSTRUCTION) {
if (*(u32 *)addr != BREAKPOINT_INSTRUCTION) {
/* The breakpoint instruction was removed by /* The breakpoint instruction was removed by
* another cpu right after we hit, no further * another cpu right after we hit, no further
* handling of this interrupt is appropriate * handling of this interrupt is appropriate
*/ */
ret = 1; ret = 1;
goto no_kprobe;
}
p = __this_cpu_read(current_kprobe);
if (p->break_handler && p->break_handler(p, regs))
goto ss_probe;
} }
goto no_kprobe; goto no_kprobe;
} }
@ -184,7 +178,6 @@ static int __kprobes kprobe_handler(struct pt_regs *regs)
if (p->pre_handler && p->pre_handler(p, regs)) if (p->pre_handler && p->pre_handler(p, regs))
return 1; return 1;
ss_probe:
prepare_singlestep(p, regs, kcb); prepare_singlestep(p, regs, kcb);
kcb->kprobe_status = KPROBE_HIT_SS; kcb->kprobe_status = KPROBE_HIT_SS;
return 1; return 1;