diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2009-03-24 15:55:26 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2009-03-24 15:55:26 -0400 |
commit | ccc11a14c5117fcee425d53f00f0b871ac727728 (patch) | |
tree | 903ed54552bf2cc9f1c7128c5456c8571eed3d6e /runtime/task_finder.c | |
parent | 168bcc7c71f203fed7a8f25bfd0a84369b968c0f (diff) | |
download | systemtap-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.c | 6 |
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; |