|
@@ -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;
|