]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ia64/kprobes: Don't call the ->break_handler() in ia64 kprobes code
authorMasami Hiramatsu <mhiramat@kernel.org>
Tue, 19 Jun 2018 16:13:20 +0000 (01:13 +0900)
committerIngo Molnar <mingo@kernel.org>
Thu, 21 Jun 2018 10:33:16 +0000 (12:33 +0200)
Don't call the ->break_handler() from the ia64 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: Fenghua Yu <fenghua.yu@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Tony Luck <tony.luck@intel.com>
Cc: linux-arch@vger.kernel.org
Cc: linux-ia64@vger.kernel.org
Link: https://lore.kernel.org/lkml/152942480045.15209.10715901482832337704.stgit@devbox
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/ia64/include/uapi/asm/break.h
arch/ia64/kernel/kprobes.c

index 5d742bcb0018391cdb7fbc8bf153704e85fa9402..4ca110f0a94b7c9472dcb46ba62f0ea626a53c47 100644 (file)
@@ -14,7 +14,6 @@
  */
 #define __IA64_BREAK_KDB               0x80100
 #define __IA64_BREAK_KPROBE            0x81000 /* .. 0x81fff */
-#define __IA64_BREAK_JPROBE            0x82000
 
 /*
  * OS-specific break numbers:
index 823e4bd03a18e169cbb1f2765c94a053930b8587..74c8524e630905b5ddf99b23d0fde5c5d022e7bc 100644 (file)
@@ -817,14 +817,6 @@ static int __kprobes pre_kprobes_handler(struct die_args *args)
                        prepare_ss(p, regs);
                        kcb->kprobe_status = KPROBE_REENTER;
                        return 1;
-               } else if (args->err == __IA64_BREAK_JPROBE) {
-                       /*
-                        * jprobe instrumented function just completed
-                        */
-                       p = __this_cpu_read(current_kprobe);
-                       if (p->break_handler && p->break_handler(p, regs)) {
-                               goto ss_probe;
-                       }
                } else if (!is_ia64_break_inst(regs)) {
                        /* The breakpoint instruction was removed by
                         * another cpu right after we hit, no further
@@ -867,7 +859,6 @@ static int __kprobes pre_kprobes_handler(struct die_args *args)
                 */
                return 1;
 
-ss_probe:
 #if !defined(CONFIG_PREEMPT)
        if (p->ainsn.inst_flag == INST_FLAG_BOOSTABLE && !p->post_handler) {
                /* Boost up -- we can execute copied instructions directly */
@@ -990,7 +981,6 @@ int __kprobes kprobe_exceptions_notify(struct notifier_block *self,
        case DIE_BREAK:
                /* err is break number from ia64_bad_break() */
                if ((args->err >> 12) == (__IA64_BREAK_KPROBE >> 12)
-                       || args->err == __IA64_BREAK_JPROBE
                        || args->err == 0)
                        if (pre_kprobes_handler(args))
                                ret = NOTIFY_STOP;