From 6ab8e97f41a149048a40b6b09a9f040650b5fa01 Mon Sep 17 00:00:00 2001 From: Vyacheslav Cherkashin Date: Thu, 15 Aug 2013 21:01:10 +0400 Subject: [PATCH] [FIX] skip interrupt others --- uprobe/arch/asm-x86/swap_uprobes.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/uprobe/arch/asm-x86/swap_uprobes.c b/uprobe/arch/asm-x86/swap_uprobes.c index 716d9eb..b03ef06 100644 --- a/uprobe/arch/asm-x86/swap_uprobes.c +++ b/uprobe/arch/asm-x86/swap_uprobes.c @@ -277,6 +277,7 @@ static int uprobe_handler(struct pt_regs *regs) } trampoline_uprobe_handler(p, regs); + return 1; } else { if (!p->pre_handler || !p->pre_handler(p, regs)) { if (p->ainsn.boostable == 1 && !p->post_handler) { @@ -298,6 +299,9 @@ static int post_uprobe_handler(struct pt_regs *regs) struct kprobe *p = get_current_probe(); unsigned long flags = __get_cpu_var(ucb).flags; + if (p == NULL) + return 0; + resume_execution(p, regs, flags); restore_current_flags(regs); -- 2.7.4