diff options
author | Masami Hiramatsu <mhiramat@kernel.org> | 2018-06-19 12:14:18 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2018-06-21 06:33:17 -0400 |
commit | cba5ec980ca14b204bdb128be397ed1ddc1c7249 (patch) | |
tree | 54cb67ea56c2eb63ae3f9c8a519c09115d42d7a0 | |
parent | 9b85753da73c5c10a9bee4d573be9503ad726b45 (diff) |
s390/kprobes: Don't call the ->break_handler() in s390 kprobes code
Don't call the ->break_handler() from the s390 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: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: linux-arch@vger.kernel.org
Cc: linux-s390@vger.kernel.org
Link: https://lore.kernel.org/lkml/152942485849.15209.16608277783809018031.stgit@devbox
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | arch/s390/kernel/kprobes.c | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/arch/s390/kernel/kprobes.c b/arch/s390/kernel/kprobes.c index 0967de19f53d..3e34018960b5 100644 --- a/arch/s390/kernel/kprobes.c +++ b/arch/s390/kernel/kprobes.c | |||
@@ -332,26 +332,6 @@ static int kprobe_handler(struct pt_regs *regs) | |||
332 | } | 332 | } |
333 | enable_singlestep(kcb, regs, (unsigned long) p->ainsn.insn); | 333 | enable_singlestep(kcb, regs, (unsigned long) p->ainsn.insn); |
334 | return 1; | 334 | return 1; |
335 | } else if (kprobe_running()) { | ||
336 | p = __this_cpu_read(current_kprobe); | ||
337 | if (p->break_handler && p->break_handler(p, regs)) { | ||
338 | /* | ||
339 | * Continuation after the jprobe completed and | ||
340 | * caused the jprobe_return trap. The jprobe | ||
341 | * break_handler "returns" to the original | ||
342 | * function that still has the kprobe breakpoint | ||
343 | * installed. We continue with single stepping. | ||
344 | */ | ||
345 | kcb->kprobe_status = KPROBE_HIT_SS; | ||
346 | enable_singlestep(kcb, regs, | ||
347 | (unsigned long) p->ainsn.insn); | ||
348 | return 1; | ||
349 | } /* else: | ||
350 | * No kprobe at this address and the current kprobe | ||
351 | * has no break handler (no jprobe!). The kernel just | ||
352 | * exploded, let the standard trap handler pick up the | ||
353 | * pieces. | ||
354 | */ | ||
355 | } /* else: | 335 | } /* else: |
356 | * No kprobe at this address and no active kprobe. The trap has | 336 | * No kprobe at this address and no active kprobe. The trap has |
357 | * not been caused by a kprobe breakpoint. The race of breakpoint | 337 | * not been caused by a kprobe breakpoint. The race of breakpoint |