summaryrefslogtreecommitdiffstats
path: root/runtime
Commit message (Collapse)AuthorAgeFilesLines
...
| * PR11020: Check switch_file global flag inside inner loop for busy scriptsMasami Hiramatsu2009-12-031-2/+4
| | | | | | | | | | * runtime/staprun/relay.c (reader_thread): Check switch_file thread flags inside inner read-write loop. And clear the flags after switching file.
* | Clean up NSS after errors occur during verification.Dave Brolley2009-12-141-0/+3
|/
* Regenerate autotools files using autoreconf to pick up latest Makefile.am ↵Dave Brolley2009-12-012-2/+4
| | | | changes.
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-12-0115-28/+65
|\
| * uprobes ppc64: UPROBES_DEBUG build fixFrank Ch. Eigler2009-12-011-2/+2
| | | | | | | | * runtime/uprobes/uprobes_ppc.c (calc_offset): Fix printk types.
| * Use proper types for do_divAnton Vorontsov2009-12-012-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | do_div accepts unsigned 64-bit integer type for dividend, signed types would cause do_div's typecheck fail: stat-common.c: In function 'needed_space': stat-common.c:50: error: comparison of distinct pointer types lacks a cast ...same errors in time.c and tapset-timers.cxx's generated code... A fix for time.c is special, on ppc32 cycles_t is 32-bit, so technically we don't need do_div, but since the whole _stp_gettimeofday_ns() operates on 64-bit types we'd better be safe and use uint64_t for the math. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
| * Change KERNEL_RELOC_SYMBOL to "_stext" on ppc32Anton Vorontsov2009-12-011-1/+1
| | | | | | | | | | | | | | | | Currently staprun fails at send_relocation_kernel(), this is because ppc32 doesn't have ".__start" symbol. I think we should use _stext, just as other arches. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
| * Implement _div64 and _mod64 for ppc32Anton Vorontsov2009-12-011-3/+39
| | | | | | | | | | | | | | _div64 and _mod64 arch-specific details were taken from gcc/longlong.h, just as it was done for i386. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
| * Share ppc64 and ppc32 code where possibleAnton Vorontsov2009-12-013-5/+5
| | | | | | | | | | | | | | | | | | | | * runtime/copy.c: Can use ppc64's code. * runtime/regs.h: Ditto. * runtime/string.h: Ditto. * tapset/context.stp: Ditto. * tapset/errno.stp: Ditto. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
| * stack-ppc: Adjust for ppc32Anton Vorontsov2009-12-012-3/+3
| | | | | | | | | | | | | | | | Get rid of magic numbers, use appropriate defines from ptrace.h. From now on stack-ppc.c should be suitable for ppc32. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
| * Rename stack-ppc64.c to stack-ppc.cAnton Vorontsov2009-12-012-1/+1
| | | | | | | | | | | | There should be no functional changes in this patch. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
| * Rename uprobes_ppc64.c to uprobes_ppc.c, use it for ppc32Anton Vorontsov2009-12-016-8/+8
| | | | | | | | | | | | | | 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>
* | Make sure system types are defined.Dave Brolley2009-12-012-5/+7
|/
* PR10653: don't corrupt signal structs in itrace on rawhide utraceRoland McGrath2009-11-301-3/+10
| | | | | * runtime/itrace.c (usr_itrace_report_signal): On modern utrace, must check/propagate utrace_signal_action().
* Don't let _stp_alloc_percpu allocate too much memory.David Smith2009-11-301-2/+15
| | | | | * runtime/alloc.c (_stp_alloc_percpu): Refuses to allocate too much percpu memory.
* Fix build error when !HAVE_NSSWenji Huang2009-11-301-2/+2
| | | | | * runtime/staprun/staprun_funcs.c (assert_stap_module_permissions): Mark parameters unused.
* PR 10984 Additional Work. TOCTOU race checking access permissions before ↵Dave Brolley2009-11-272-51/+80
| | | | canonicalizing /lib/modules/KVER/systemtap.
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-11-252-8/+15
|\
| * include modverify.h unconditionally.Dave Brolley2009-11-241-2/+0
| |
| * Add assert for detecting shared library reloading, PR11015.Mark Wielaard2009-11-241-6/+15
| | | | | | | | | | * runtime/sym.c (_stp_tf_mmap_cb): Only look for first load of whole module that is executable. Add check for detecting reloading of module.
* | Improve error messages related to module signing.Dave Brolley2009-11-251-15/+7
| |
* | - 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'
* | Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-11-241-61/+121
|\|
| * Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-11-241-1/+1
| |\
| * | PR 10976, 10984. Loading of signed modules (script module and uprobes) ↵Dave Brolley2009-11-241-61/+121
| | | | | | | | | | | | limited to members of stapusr.
* | | Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-11-233-3/+21
|\ \ \ | | |/ | |/| | | | | | | | | | Conflicts: configure
| * | cleanup: explain -5 magic value used in map-sorting codeFrank Ch. Eigler2009-11-201-1/+1
| |/
| * Explain "cheat" comment in sym.c (_stp_tf_mmap_cb).Mark Wielaard2009-11-171-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | We are abusing the "first" section address here to indicate where the module (actually first segment) is loaded (which is why we are ignoring the offset). It would be good to redesign the stp_module/stp_section data structures to better align with the actual memory mappings we are interested in (especially the "section" naming is slightly confusing since what we really seem to mean are elf segments (which can contain multiple elf sections). * runtime/sym.c (_stp_tf_mmap_cb): Add cheat comment.
| * PR10010 Support $globals in shared libraries.Mark Wielaard2009-11-161-2/+5
| | | | | | | | | | | | | | | | * dwflpp.cxx (dwflpp::emit_address): Enable task finder and emit a _stp_module_relocate for the ".dynamic" section when seeing a user-space dso address. * runtime/sym.c (_stp_mod_sec_lookup): Remove .dynamic section addr cheat. (_stp_tf_mmap_cb): Add cheat here.
| * Allow modules to trigger task_finder vma_tracker.Mark Wielaard2009-11-161-0/+4
| | | | | | | | | | | | | | * runtime/sym.h: Define _stp_need_vma_tracker. * translate.cxx (emit_symbol_data_done): Output _stp_need_vma_tracker value. (c_unparser::emit_module_init): If STP_NEED_VMA_TRACKER isn't defined check _stp_need_vma_tracker to call _stp_sym_init().
* | 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.
* Relax restrictions on ownership and access permissions of signer's cert ↵Dave Brolley2009-11-121-0/+1
| | | | database.
* Use 'module_realpath' instead of overwriting 'path' in insert_module.Dave Brolley2009-11-101-18/+14
| | | | Update comments to clearly explain the security issues involved.
* Replace the use of the global variable 'modpath' in diagnosticDave Brolley2009-11-103-10/+14
| | | | | | | | messages within verify_it with the use of a 'module_name' parameter passed in. Add a comment in insert_module explaining why it's ok to overwrite the 'path' parameter with the canonicalized path.
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapDave Brolley2009-11-091-0/+11
|\
| * PR10849: Support MAXSKIPPED handling on RHEL4 through implementation of ↵Roland Grunberg2009-11-061-0/+11
| | | | | | | | atomic_cmpxchg
* | Don't reference global variable modpath in insert_module and its helpers.Dave Brolley2009-11-093-36/+81
|/ | | | | | | | | | | This allows insert_module to to be used for loading the signed uprobes.ko module. Allow the use of $$parms and $$return in uprobes based probes for unprivileged users. Re-add management of module signatures in the cache. Don't know why it was removed.
* Revert change which loads uprobes.ko using insert_module.Dave Brolley2009-11-051-3/+5
|
* PR 9973: Sign uprobes.ko when it is created and load it using insert_module.Dave Brolley2009-11-052-6/+11
| | | | Create home directory manually for stap-server.
* PR 10706 fixed by switching to unbuffered output.David Smith2009-11-031-1/+1
| | | | | * runtime/staprun/mainloop.c (stp_main_loop): Switched to unbuffered output (instead of line buffered output).
* Fix for bug 10866 (exit with rc != 0 on script ERRORs).Breno Leitao2009-11-032-11/+15
| | | | | | This patch just make the RC=1 when any output line starts with ERROR:. Also some minors error that was returning 0 instead of 1 were fixed.
* Removed extra declarations.David Smith2009-10-291-3/+0
| | | | | * runtime/transport/transport.h: Removed extra declarations of _stp_transport_init() and _stp_transport_close().
* PR10854: Use a mutex around transport startup/shutdownJosh Stone2009-10-271-15/+23
| | | | | | | | | | | | | | | We had a race where the probe setup could be called during/after the probe shutdown in abnormal circumstances, which leads to kernel callbacks still registered after module unload. (BOOM) Now the setup/shutdown activities and related flags are guarded by a mutex, so we should have strict ordering. * runtime/transport/transport.c (_stp_transport_mutex): New. (_stp_handle_start): Grab the mutex, and make sure we're not exiting. (_stp_cleanup_and_exit): Grab the mutex. (_stp_lock_inode, _stp_unlock_inode): Use kernel version for checking inode locking type.
* Refactor probe locking into shared functionsJosh Stone2009-10-211-0/+68
| | | | | | | | | | | | For scripts with thousands of probes, we save a fair amount of code-gen time in pass-4 by having the common locking code extracted into shared functions. * runtime/probe_lock.h (stp_lock_probe, stp_unlock_probe): New. * translate.cxx (c_unparser::emit_lock_decls): New, emits a static const array of locks needed for each probe. (c_unparser::emit_locks): Just call stp_lock_probe. (c_unparser::emit_unlocks): Just call stp_unlock_probe.
* Limit the number of call frame instructions we process in the unwinder.Mark Wielaard2009-10-201-0/+7
| | | | | * runtime/unwind.c (processCFI): Fail if the number of instructions is larger than MAX_CFI (currently 512).