summaryrefslogtreecommitdiffstats
path: root/runtime/uprobes
Commit message (Collapse)AuthorAgeFilesLines
* map through uretprobe trampoline in an arbitrary taskTim Moore2010-01-132-17/+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.
* runtime backtracing: port commit #2e7f8442 to uprobes1Frank Ch. Eigler2009-12-202-0/+46
| | | | * runtime/uprobes/uprobes.c (uprobe_get_pc): new function
* uprobes ppc64: UPROBES_DEBUG build fixFrank Ch. Eigler2009-12-011-2/+2
| | | | * runtime/uprobes/uprobes_ppc.c (calc_offset): Fix printk types.
* Rename uprobes_ppc64.c to uprobes_ppc.c, use it for ppc32Anton Vorontsov2009-12-014-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>
* - Allow root, the owner of the uprobes build directory and the members of theDave Brolley2009-11-251-24/+20
| | | | | | | | | | group owner of the uprobes buld directory to build uprobes.ko. - When building uprobes.ko, make all generated files writable by the group owner of the uprobes build directory. - Don't change the group owner of the uprobes build directory during 'make install'
* Ensure uprobes/Makefile never returns failure due to setting permissions.Dave Brolley2009-11-231-11/+17
| | | | | Ensure uprobes install directory has group 'stap-server'. Rename igid_in to in_group.
* Rework setting of group and permissions on generated files and directories.Dave Brolley2009-11-231-8/+21
|
* Make built files and directories writeable by the stap-server group ↵Dave Brolley2009-11-231-4/+6
| | | | individually.
* Only attempt to change the group permissions of built items if we are root.Dave Brolley2009-11-201-3/+6
|
* Allow members of the group stap-server to build the uprobes module.Dave Brolley2009-11-201-3/+9
|
* Sign uprobes.ko with the builder's certificate.Dave Brolley2009-11-121-1/+1
| | | | Delete ownership & permissions tests from modsign.cxx and stap-serverd.
* PR 9973: Sign uprobes.ko when it is created and load it using insert_module.Dave Brolley2009-11-051-1/+8
| | | | Create home directory manually for stap-server.
* 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> ---
* Uprobes not currently supported on ia64.William Cohen2009-09-181-1/+0
|
* PR5273: uprobes_i386.c instruction tableJim Keniston2009-04-241-11/+11
| | | | | Resynch uprobes1 2-byte-opcode table with uprobes2 x86. Mostly changes a bunch of mmx instructions from rejected to accepted.
* i386 uprobes1: enable the 0x0f 0x1_ row of opcodesJim Keniston2009-04-231-1/+1
| | | | to make sdt.exp pass
* PR10078: uretprobes on functions returning structs/unionsJim Keniston2009-04-202-2/+24
| | | | | 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-6/+34
| | | | | 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-04-151-0/+7
|\
| * Add a .gitignore for uprobesJosh Stone2009-04-021-0/+7
| |
* | Don't reject opcode 0x9b -- fwait, which is also the first byte ofJim Keniston2009-03-113-11/+8
|/ | | | | | pseudo-instructions like fclex, finit, fstsw, and fstcw. Do reject opcode 0x82 in 64-bit mode.
* PR7082: patch for uprobes1 (kernel <= 2.6.24)Jim Keniston2008-12-291-11/+67
|
* PR5274 - Add s390 arch support for uprobes longjump handling.David Smith2008-11-041-0/+12
| | | | | | | | 2008-11-04 David Smith <dsmith@redhat.com> From Jim Keniston, PR 5274. * uprobes/uprobes_s390.h: Add s390 arch support for uprobes longjump handling.
* Add a version of uprobes that works with the 2.6.27 version of utrace.Jim Keniston2008-11-033-2/+31
|
* PR5274: uretprobes fixes, belated commitSrikar Dronamraju2008-10-289-4/+112
|
* Add uprobes.txt.Jim Keniston2008-10-061-0/+675
|
* PR 6850Jim Keniston2008-10-031-28/+148
| | | | | Fix handling of fork with uretprobe_instances outstanding. Add regression test.
* Per bz6879, allow gs: and fs: instruction prefixes.Jim Keniston2008-09-123-12/+15
|
* uprobes arch specific header file for x86/x86_64srinivasa2008-02-181-0/+111
|
* Uprobes arch specific file for x86/x86_64.srinivasa2008-02-181-0/+717
|
* PR 5693kenistoj2008-02-112-4/+78
| | | | | | | * runtime/uprobes/uprobes.c: Intercept handler-destined signals received while we're single-stepping, and re-queue them afterward. * runtime/uprobes/uprobes.h: Ditto
* * runtime/uprobes/uprobes.c: Within a probed process, serializekenistoj2008-01-252-1/+18
| | | | | | | calls to access_process_vm() when populating instructions slots. Fixes an SMP bug on multithreaded apps with many active probepoints. * runtime/uprobes/uprobes.h: Ditto
* * runtime/uprobes/uprobes.c: Fix from Srinivasa: Recastkenistoj2008-01-221-5/+5
| | | | rcu_dereferences of engine->data to resync with kernel.org builds.
* * runtime/uprobes/uprobes.c: Added static copy ofkenistoj2008-01-191-0/+62
| | | | access_process_vm(), for kernels that don't export it.
* * runtime/uprobes/uprobes_x86_64.c: Fix handling of indirectkenistoj2007-12-271-5/+10
| | | | | jmps and calls that use rip-relative addressing. Allow probing of opcode 0x63.
* PR 5270kenistoj2007-11-131-0/+6
| | | | | | | | | | | | | * main.cxx: Restored pre-10-08 version: moved uprobes build to buildrun.cxx. * buildrun.cxx: Reworked uprobes build so that the resulting Module.symvers can be used in building the stap-generated module. If user isn't root, call verify_uprobes_uptodate() rather than trying (and failing) to rebuild uprobes.ko. * buildrun.h: uprobes_enabled() and make_uprobes() are no longer extern. * runtime/uprobes/Makefile: Added uprobes.ko target for use by verify_uprobes_uptodate().
* uprobes ppc64 ssol changessrikar2007-10-253-14/+124
|
* x86_64 uprobeskenistoj2007-10-222-0/+781
|
* Fixed 10/16 update to arch_validate_probed_insn() decls.kenistoj2007-10-192-2/+3
|
* * runtime/uprobes/uprobes.[ch], uprobes_i386.[ch],kenistoj2007-10-166-21/+42
| | | | | | | | | uprobes_ppc64.h, uprobes_s390.h: Adjusted SLOT_IP and arch_validate_probed_insn to accept task pointer (needed by x86_64); added uprobe_probept_arch_info and uprobe_task_arch_info (ditto). * runtime/uprobes/uprobes_i386.c: Fixed a couple of glitches discovered when porting to x86_64
* * runtime/uprobes/uprobes_ppc64.[ch]: Addedkenistoj2007-10-104-0/+399
| | | | * runtime/uprobes/uprobes_s390.[ch]: Added
* PR 5083kenistoj2007-10-091-13/+38
| | | | | | | * runtime/uprobes/uprobes.c: Adjust module ref-count when creating or removing uprobe_process, so "rmmod --wait uprobes" waits as needed until uretprobed functions return.
* PR 5709kenistoj2007-10-084-90/+46
| | | | | | | | | | | | | | | | | | | | | | | * main.cxx: Add pass 4.5: make uprobes.ko in runtime/uprobes * buildrun.cxx: Add uprobes_enabled() and make_uprobes(). Factor run_make_cmd() out of compile_pass(). * buildrun.h: Add uprobes_enabled and make_uprobes decls. * tapsets.cxx: Do correct #include for modprobed uprobes.ko; set need_uprobes in pass 2. * session.h: Add need_uprobes * runtime/staprun/common.c: Add -u option -> need_uprobes * runtime/staprun/staprun_funcs.c: Generalize insert_module() to support inserting uprobes.ko. * runtime/staprun/staprun.c: Add enable_uprobes(). insert_module call becomes insert_stap_module(). * runtime/staprun/staprun.h: Reflect insert_module() and need_uprobes changes * runtime/uprobes/*.[c,h]: uprobes is built as a module, rather than included into the source of the stap-generated module. * runtime/uprobes/Makefile: Added
* uprobes.c, uprobes.h: architecture-independent codekenistoj2007-09-286-0/+3073
uprobes_i386.c, uprobes_i386.h: i386 code uprobes_arch.c, uprobes_arch.h: map to architecture-specific files