summaryrefslogtreecommitdiffstats
path: root/runtime/uprobes2
Commit message (Collapse)AuthorAgeFilesLines
* map through uretprobe trampoline in an arbitrary taskTim Moore2010-01-132-18/+57
| | | | | | | | | * runtime/uprobes2/uprobes.c (uprobe_get_pc_task): new function (lookup_uretprobe): new helper function (uprobe_get_pc): use it * runtime/uprobes2/uprobes.h (uprobe_get_pc_task): declare * runtime/uprobes/uprobes.c : ditto * runtime/uprobes/uprobes.h : ditto
* bz6436 backtraces from uprobesTim Moore2010-01-052-31/+44
| | | | | | | | | | | | | | | | | | | | | This implements proper unwinding from uprobes in the presence of uretprobe trampolines. * runtime/stack.c (_stp_stack_print): Rework for uprobe context case and refactor a bit. * runtime/uprobes2/uprobes.h (GET_PC_URETPROBE_NONE): new constant * runtime/uprobes2/uprobes.c (uprobe_get_pc): Support translating the trampoline function from uprobe context in addition to uretprobe context. * runtime/uprobes/uprobes.h (GET_PC_URETPROBE_NONE): ditto * runtime/uprobes/uprobes.c (uprobe_get_pc): ditto * tapsets.cxx (uprobe_derived_probe_group::emit_module_decls): Initialize ri in context to GET_PC_URETPROBE_NONE in generated enter_uprobe_probe. * testsuite/systemtap.context/fib.stp: Add an option to do a backtrace on function entry. * testsuite/systemtap.context/fib.exp: Test backtrace in function entry (uprobe) probes.
* PR11113 fix. Support new utrace API.David Smith2009-12-211-4/+31
| | | | | | | | | | | | | | | | | | | | * tapset-utrace.cxx (utrace_derived_probe_group::emit_module_decls): Handles new utrace api. * runtime/itrace.c (usr_itrace_report_signal): Ditto. (usr_itrace_report_clone): Ditto. (usr_itrace_report_death): Ditto. * runtime/task_finder.c (__stp_utrace_task_finder_report_clone): Ditto. (__stp_utrace_task_finder_report_exec): Ditto. (__stap_utrace_task_finder_report_death): Ditto. (__stp_utrace_task_finder_target_death): Ditto. (__stp_utrace_task_finder_target_quiesce): Ditto. (__stp_utrace_task_finder_target_syscall_entry): Ditto. (__stp_utrace_task_finder_target_syscall_exit): Ditto. * runtime/uprobes2/uprobes.c (uprobe_report_signal): Ditto. (uprobe_report_quiesce): Ditto. (uprobe_report_exit): Ditto. (uprobe_report_clone): Ditto. (uprobe_report_exec): Ditto.
* function to translate from the uretprobe trampoline back to the originalTim Moore2009-12-162-0/+46
| | | | | | return address * runtime/uprobes2/uprobes.c (uprobe_get_pc): new function
* Rename uprobes_ppc64.c to uprobes_ppc.c, use it for ppc32Anton Vorontsov2009-12-012-4/+4
| | | | | | | The code *looks* generic enough, so I think it can be used for ppc32 without modifications. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
* Avoid lockdep warnings.Srikar Dronamraju2009-10-191-7/+17
| | | | | | | | | | | | | | | | | | | | uprobe_fork_uproc() runs with parent_uproc->rwsem locked. However uprobe_mk_process() that gets called within uprobe_fork_uproc() also locks child_uproc->rwsem after initializing it. Lockdep report confuses this to acquiring a lock that already has been acquired and suggests using sub-classes. The alternatives we have are: 1. use classes level to distinguish different uproc structures. 2. unlock parent_uproc->rwsem before we call uprobe_fork_uproc(). 3. dont try locking child_uproc->rwsem; since we are protected by uproc_mutex as well as parent_uproc->rwsem; We use the last approach. Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com> ---
* PR10595 Work around uprobe2 causing selinux failures for kernel 2.6.28+.Mark Wielaard2009-09-171-3/+32
| | | | | | | | | | We allocate a "fake" unlinked shmem file because anonymous memory might not be granted execute permission when the selinux security hooks have their way. Only do this for 2.6.28 or higher since shmem_file_setup() isn't exported before that. * runtime/uprobes2/uprobes.c (uprobe_setup_ssol_vma): Use shmem_file_setup to setup the ssol vma area when using 2.6.28+.
* Ref-count correctly when deranged handler calls do_exit().Jim Keniston2009-04-211-1/+2
|
* PR10078: uretprobes on functions returning structs/unionsJim Keniston2009-04-201-1/+12
| | | | | arch_predict_sp_at_ret() for x86_32 now accommodates ret $4. Added bz10078 regression test.
* PR9940: add/use unmap_u[ret]probeJim Keniston2009-04-152-8/+41
| | | | | For uprobes 1 and 2, add unmap_u[ret]probe() and define UPROBES_API_VERSION=2. Adapt tapsets.cxx accordingly.
* Merge branch 'master' of ssh://kenistoj@sources.redhat.com/git/systemtapJim Keniston2009-03-232-0/+11
|\
| * PR9974: adapt to utrace_connected_engine -> utrace_engineFrank Ch. Eigler2009-03-222-0/+11
| | | | | | | | | | | | Adjusted all headers that #include <linux/utrace.h> to follow with: /* PR9974: Adapt to struct renaming. */
* | Don't reject opcode 0x9b -- fwait, which is also the first byte ofJim Keniston2009-03-111-5/+4
|/ | | | | | pseudo-instructions like fclex, finit, fstsw, and fstcw. Do reject opcode 0x82 in 64-bit mode.
* PR 7082: patch for uprobes2 (kernel > 2.6.26)Jim Keniston2009-01-131-11/+67
|
* Fix the compilation warning of uprobe in FC9.Wenji Huang2008-12-071-2/+2
|
* PR 6879: Apply fix from uprobes to uprobes2.Jim Keniston2008-11-181-5/+6
|
* Add a version of uprobes that works with the 2.6.27 version of utrace.Jim Keniston2008-11-036-0/+4054