From 91a5a179ee6415500208ff51d99b8108999828e1 Mon Sep 17 00:00:00 2001 From: Vyacheslav Cherkashin Date: Tue, 5 Feb 2013 19:03:07 +0400 Subject: [PATCH] FIX instrumentation '__switch_to' error add processing critical sections --- kprobe/dbi_kprobes.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kprobe/dbi_kprobes.c b/kprobe/dbi_kprobes.c index 880a0c8..9d52be2 100644 --- a/kprobe/dbi_kprobes.c +++ b/kprobe/dbi_kprobes.c @@ -849,8 +849,12 @@ static void unpatch_suspended_task_ret_addr(struct task_struct *p, struct kretpr { ri = find_ri_pc_mod(p, rp); if(ri) { + unsigned long flags; rm_task_trampoline(p, ri); + + spin_lock_irqsave(&kretprobe_lock, flags); recycle_rp_inst(ri); + spin_unlock_irqrestore(&kretprobe_lock, flags); } } } -- 2.7.4