summaryrefslogtreecommitdiffstats
path: root/runtime/task_finder.c
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@elastic.org>2009-03-24 15:55:26 -0400
committerFrank Ch. Eigler <fche@elastic.org>2009-03-24 15:55:26 -0400
commitccc11a14c5117fcee425d53f00f0b871ac727728 (patch)
tree903ed54552bf2cc9f1c7128c5456c8571eed3d6e /runtime/task_finder.c
parent168bcc7c71f203fed7a8f25bfd0a84369b968c0f (diff)
downloadsystemtap-steved-ccc11a14c5117fcee425d53f00f0b871ac727728.tar.gz
systemtap-steved-ccc11a14c5117fcee425d53f00f0b871ac727728.tar.xz
systemtap-steved-ccc11a14c5117fcee425d53f00f0b871ac727728.zip
Revert "PR9940: avoid duplicated calling of uprobes in shared libraries"
This fix caused a regression on fedora. stap -ve 'probe process("/bin/ls").function("main") { log(pp()); } probe process("/lib64/libc.so.6").function("*") { log(pp()); }' \ -c /bin/ls hung (with stapio & ls processes spinning) upon startup.
Diffstat (limited to 'runtime/task_finder.c')
-rw-r--r--runtime/task_finder.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/runtime/task_finder.c b/runtime/task_finder.c
index e494e7a8..7949a81f 100644
--- a/runtime/task_finder.c
+++ b/runtime/task_finder.c
@@ -1045,7 +1045,6 @@ __stp_utrace_task_finder_target_syscall_entry(enum utrace_resume_action action,
static void
__stp_call_vm_callbacks_with_vma(struct stap_task_finder_target *tgt,
struct task_struct *tsk,
- int map_p,
struct vm_area_struct *vma)
{
char *mmpath_buf;
@@ -1072,7 +1071,7 @@ __stp_call_vm_callbacks_with_vma(struct stap_task_finder_target *tgt,
rc, (int)tsk->pid);
}
else {
- __stp_call_vm_callbacks(tgt, tsk, map_p, mmpath,
+ __stp_call_vm_callbacks(tgt, tsk, 1, mmpath,
vma->vm_start, vma->vm_end,
(vma->vm_pgoff << PAGE_SHIFT));
}
@@ -1165,7 +1164,7 @@ __stp_utrace_task_finder_target_syscall_exit(enum utrace_resume_action action,
down_read(&mm->mmap_sem);
vma = __stp_find_file_based_vma(mm, rv);
if (vma != NULL) {
- __stp_call_vm_callbacks_with_vma(tgt, tsk, 0, vma);
+ __stp_call_vm_callbacks_with_vma(tgt, tsk, vma);
}
up_read(&mm->mmap_sem);
mmput(mm);
@@ -1238,7 +1237,6 @@ __stp_utrace_task_finder_target_syscall_exit(enum utrace_resume_action action,
&& vma->vm_end <= entry->vm_end) {
__stp_call_vm_callbacks_with_vma(tgt,
tsk,
- 1,
vma);
if (vma->vm_end >= entry->vm_end)
break;