From ce92ca3f9c70bf2f73f68e9e9d499a1bb9e5e7cb Mon Sep 17 00:00:00 2001 From: Vasiliy Ulyanov Date: Thu, 12 Jul 2012 09:54:43 +0400 Subject: [PATCH] MEC: fixed ret_addr obtaining (needs testing!!!) --- driver/us_proc_inst.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/driver/us_proc_inst.c b/driver/us_proc_inst.c index ade596f..7cbb176 100644 --- a/driver/us_proc_inst.c +++ b/driver/us_proc_inst.c @@ -1787,19 +1787,15 @@ unsigned long get_ret_addr(struct task_struct *task, us_proc_ip_t *ip) unsigned long flags = 0; struct hlist_node *item, *tmp_node; struct kretprobe_instance *ri; - extern spinlock_t kretprobe_lock; if (ip) { - //spin_lock_irqsave(&kretprobe_lock, flags); - hlist_for_each_safe (item, tmp_node, &ip->retprobe.used_instances) { ri = hlist_entry (item, struct kretprobe_instance, uflist); - if (ri->task && ri->task->pid == task->pid) + if (ri->task && ri->task->pid == task->pid && + ri->task->tgid == task->tgid) retaddr = (unsigned long)ri->ret_addr; } - - //spin_unlock_irqrestore(&kretprobe_lock, flags); } if (retaddr) -- 2.7.4