summaryrefslogtreecommitdiffstats
path: root/runtime
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | | Remove __stp_tf_vm_cb from task_finder interface.Mark Wielaard2009-03-191-34/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * runtime/task_finder.c (__stp_tf_vm_cb): Removed. * tapsets.cxx (utrace_derived_probe_group::emit_module_decls): Output task finder vma callback and hook it.
| | * | | | Initialize user and vm_start before use.Mark Wielaard2009-03-191-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | * runtime/sym.c (_stp_mod_sec_lookup): Initialize user and vm_start.
| | * | | | Get rid of __stp_tf_get_vma_entry_addr function.Mark Wielaard2009-03-192-43/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * runtime/task_finder_vma.c (__stp_tf_get_vma_entry_addr): Deleted. (struct __stp_tf_vma_entry): Replace module by user void* field. (stap_add_vma_map_info): Take a void *user arg. (stap_find_vma_map_info): Take a void **user arg. * runtime/sym.c (_stp_mod_sec_lookup): Use stap_find_vma_map_info.
| | * | | | Replace mutex in task_finder_vma with rwlock to be interrupt context safe.Mark Wielaard2009-03-181-31/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * runtime/task_finder_vma.c: Replace all mutex calls with appropriate read or write (un)lock calls.
| | * | | | Merge branch 'master' into pr6866Mark Wielaard2009-03-181-1/+0
| | |\ \ \ \
| | * \ \ \ \ Merge branch 'master' into pr6866Mark Wielaard2009-03-1718-149/+210
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolved conflicts: runtime/task_finder.c: name vs path.
| | * \ \ \ \ \ Merge branch 'master' into pr6866Mark Wielaard2009-02-2050-5166/+561
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog: Removed runtime/ChangeLog: Removed runtime/sym.c: Merged runtime/task_finder.c: Merged tapset/ChangeLog: Removed testsuite/ChangeLog: Removed
| | * \ \ \ \ \ \ Merge branch 'master' into pr6866.Mark Wielaard2009-01-2313-336/+545
| | |\ \ \ \ \ \ \
| | * | | | | | | | Always include task_finder.c and enable emit_vm_callback_probe_decl.Mark Wielaard2008-12-154-17/+25
| | | | | | | | | |
| | * | | | | | | | PR6866: First pass at translating addresses to symbol names through vma.Mark Wielaard2008-12-105-24/+97
| | | | | | | | | |
| * | | | | | | | | Merge branch 'master' of ssh://kenistoj@sources.redhat.com/git/systemtapJim Keniston2009-03-315-34/+49
| |\ \ \ \ \ \ \ \ \ | | | |_|_|_|_|_|_|/ | | |/| | | | | | |
| | * | | | | | | | PR9998: new config and test filesWenji Huang2009-03-301-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * runtime/autoconf-x86-gs.c : New file. * testsuite/systemtap.base/x86_gs.exp : New test case. * testsuite/systemtap.base/x86_gs.stp : Ditto.
| | * | | | | | | | PR10001: Use the kernel's strlcpy & strlcatJosh Stone2009-03-261-16/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We had our own implementations of these which were triggering gcc bug38480 in some particular cases. It's easier for us to use the kernel's strlcpy and strlcat anyway, which avoids the bug.
| | * | | | | | | | Fix for CVE-2009-0784: stapusr module-path checking raceFrank Ch. Eigler2009-03-251-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * runtime/staprun/staprun_funcs.c (check_path): Save fully canonicalized and checked module path for later loading.
| | * | | | | | | | Revert "PR9940: avoid duplicated calling of uprobes in shared libraries"Frank Ch. Eigler2009-03-241-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | | | | | itrace: zap "usr_itrace_init: completed for tid = NNNN" debug messageFrank Ch. Eigler2009-03-241-1/+2
| | | | | | | | | |
| | * | | | | | | | PR 9989 fix.David Smith2009-03-241-13/+26
| | | |_|_|_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-03-24 David Smith <dsmith@redhat.com> PR 9989. * runtime/task_finder.c (stap_utrace_detach): Ignores -EINPROGRESS. (stap_utrace_detach_ops): Ignores errors from stap_utrace_detach(), so that other tasks will get detached from this utrace engine. (__stp_utrace_attach): Better error handling from utrace_barrier(). (__stp_utrace_task_finder_target_quiesce): Ditto.
| * | | | | | | | Merge branch 'master' of ssh://kenistoj@sources.redhat.com/git/systemtapJim Keniston2009-03-2317-77/+701
| |\| | | | | | |
| | * | | | | | | PR9974: adapt to utrace_connected_engine -> utrace_engineFrank Ch. Eigler2009-03-225-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adjusted all headers that #include <linux/utrace.h> to follow with: /* PR9974: Adapt to struct renaming. */
| | * | | | | | | PR9821: staprun supports subset of strftime.Masami Hiramatsu2009-03-204-32/+232
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add strftime subset format support for output file name to systemtap. This format will be evaluated when opening a new output file.
| | * | | | | | | PR6930: stapio: support file switchingMasami Hiramatsu2009-03-205-17/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add file-switching option(-S size[,N]) to stapio. This option has two arguments, 'size' and 'N', and requires -o option. - When the size of output file exceeds specified 'size'MB, staprun switches output file to the next file. For this purpose, all output file has a serial number as a suffix only when user specifies this option. - Using this option in bulk mode, the output file name will be 'FILE_cpuX.SERIAL'. - When the number of files exceeds specified N, staprun removes the oldest file. This argument can be omitted.
| | * | | | | | | PR6930: stapio: run in background as a daemonMasami Hiramatsu2009-03-203-4/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add '-D'(daemon mode) option to staprun/stapio for daemon mode. In this mode, stapio shows just its pid and detachs from console. Since it has no stdio, this mode requires -o option. stapio will exit when it receives SIGTERM or detects some error.
| | * | | | | | | PR6930: staprun: supports error message to syslogMasami Hiramatsu2009-03-203-8/+33
| | | |_|_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an interface (eprintf) to output error messages to syslogd, because staprun has no stderr after detaching from console.
| | * | | | | | PR9940: avoid duplicated calling of uprobes in shared librariesWenji Huang2009-03-191-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add map_p argument to __stp_call_vm_callbacks_with_vma to well tune the vma callback. Signed-off-by: Wenji Huang <wenji.huang@oracle.com>
| | * | | | | | start of rhel5 compatibility for itraceFrank Ch. Eigler2009-03-192-2/+49
| | | | | | | |
| | * | | | | | add runtime/autoconf magic for itrace on pre-find_task_by_vpid kernelsFrank Ch. Eigler2009-03-191-0/+6
| | | | | | | |
| | * | | | | | Fix for spinlock bad magic error with itrace probe pointMaynard Johnson2009-03-181-6/+2
| | | |_|_|_|/ | | |/| | | |
| | * | | | | Don't mutex_unlock in __stp_tf_get_vma_map_entry_internal.Mark Wielaard2009-03-181-1/+0
| | | |_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All callers of __stp_tf_get_vma_map_entry_internal lock and unlock the mutex correctly themselves in all cases. This unlock would trigger a double unlock. * runtime/task_finder_vma.c (__stp_tf_get_vma_map_entry_internal): Don't mutex_unlock(&__stp_tf_vma_mutex).
| | * | | | Get the canonical path of the main file for comparison at runtime.Mark Wielaard2009-03-172-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When given directly by the user through -d or in case of the kernel name and path might differ. path should be used for matching. * runtime/sym.h (_stp_module): Add path field. * runtime/task_finder.c (__stp_tf_vm_cb): Use module path to compare vm_path. * translate.cxx (dump_unwindsyms): Output canonical path.
| | * | | | PR9951: Prevent GCC warnings in deref()Josh Stone2009-03-161-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some configurations, GCC was warning about a possible use of _v in the deref macros. I could not reproduce the error, but the only case where _v is not written is if lookup_bad_addr rejects the address, in which case we will hit DEREF_FAULT and _v won't be used. Now we're priming _v=0 anyway, so GCC has no right to complain...
| | * | | | Move vma module tracking from pr6866 branch to master.Mark Wielaard2009-03-152-7/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tapsets.cxx (utrace_derived_probe_group::emit_module_decls): Always emit vm callback probe for __stp_tf_vm_cb. * runtime/task_finder.c (__stp_tf_vm_cb): Always expose, move _stp_dbug statements under ifdef DEBUG_TASK_FINDER_VMA. Find and record corresponding module when vm_path not NULL. * runtime/task_finder_vma.c (struct __stp_tf_vma_entry): Add _stp_module. (stap_add_vma_map_info): Add _stp_module argument and assign. (__stp_tf_get_vma_entry_addr): New static function to get the __stp_tf_vma_entry given an address.
| | * | | | Move lookup_bad_addr call in STAPCONF_PROBE_KERNELJosh Stone2009-03-131-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With most of the implementations, kread/kwrite call deref/store_deref, and so it makes sense to have lookup_bad_addr in the latter as an underlying address check. However, in the STAPCONF_PROBE_KERNEL case that uses probe_kernel_read and probe_kernel_write, the roles are reversed, so lookup_bad_addr needs to be in kread/kwrite. Also note that __deref_bad and __store_deref_bad should only be used in cases that can be determined at compile time. These turn into invalid symbols which prevent the module from loading. (They might be better replaced with compile-time assertions.)
| | * | | | PR9947: move runtime cleanup out of the work queueJosh Stone2009-03-134-8/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The kernel lockdep checking found a possible deadlock if a forced rmmod tried to destroy _stp_work_queue at the same time that the work queue was unregistering tracepoints. An unlikely scenario, but still possible. Now the work queue will just issue a STP_REQUEST_EXIT down to usermode, and usermode will echo back an STP_EXIT that triggers the actual probe cleanup. This way the unregistrations are happening in exactly the same context as the registrations were.
| * | | | | Don't reject opcode 0x9b -- fwait, which is also the first byte ofJim Keniston2009-03-114-16/+12
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | pseudo-instructions like fclex, finit, fstsw, and fstcw. Do reject opcode 0x82 in 64-bit mode.
* | | | | Start at supporting the original transport (STP_TRANSPORT_VERSION=1).David Smith2009-05-125-114/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * runtime/print.c: Only use print_new.c. * runtime/print_new.c (stp_print_flush): Add STP_TRANSPORT_VERSION 1 support. * runtime/transport/transport.c: Removed inclusion of procfs.c. * runtime/transport/procfs.c (_stp_proc_read): Adapt to new interface. (_stp_proc_write): Ditto. * runtime/transport/relayfs.c: Ditto.
* | | | | Sets uid/gid on "dropped" file.David Smith2009-05-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | * runtime/transport/relay_v2.c (_stp_transport_data_fs_init): Sets uid/gid on "dropped" file.
* | | | | Cleaned up runtime/transport/relay_v2.c.David Smith2009-05-081-181/+15
| | | | | | | | | | | | | | | | | | | | * runtime/transport/relay_v2.c: Cleanup.
* | | | | Working transport version 2 (RHEL5 and recent fedora kernels).David Smith2009-05-081-414/+376
| | | | | | | | | | | | | | | | | | | | | | | | | * runtime/transport/relay_v2.c: Morphed utt.c into relay_v2.c. Actually works.
* | | | | Hid details of internal ring_buffer.c structure.David Smith2009-05-073-52/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * runtime/print_new.c (stp_print_flush): Calls _stp_data_entry_data() to get data pointer. * runtime/transport/transport.h: Removed _stp_entry definition. Added _stp_data_entry_data() declaration. * runtime/transport/ring_buffer.c: Uses new _stp_data_entry structure. (_stp_data_entry_data): Added.
* | | | | Added comments.David Smith2009-05-061-0/+37
| | | | | | | | | | | | | | | | | | | | * runtime/transport/transport.h: Added comments.
* | | | | Start of support for older transport and cleanup.David Smith2009-05-064-51/+573
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * runtime/transport/control.c: Added inclusion of linux/delay.h to get declaration of msleep(). * runtime/transport/relay_v2.c: New skeleton file for transport version 2. * runtime/transport/ring_buffer.c: Cleanup. * runtime/transport/transport.c: Ditto.
* | | | | Renamed STP_OLD_TRANSPORT to STP_TRANSPORT_VERSION.David Smith2009-04-028-15/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-04-02 David Smith <dsmith@redhat.com> * runtime.h: Defines STP_TRANSPORT_VERSION instead of STP_OLD_TRANSPORT. * staprun/staprun.h (STP_OLD_TRANSPORT): Ditto. * print.c: Changed STP_OLD_TRANSPORT to STP_TRANSPORT_VERSION. * staprun/mainloop.c (stp_main_loop): Ditto. * transport/transport.c: Ditto. * transport/transport.h: Ditto. * transport/transport_msgs.h: Ditto. * transport/utt.h: Ditto.
* | | | | 2009-03-31 David Smith <dsmith@redhat.com>David Smith2009-03-313-105/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * print_new.c (stp_print_flush): Pushed MAX_RESERVE logic down to _stp_data_write_reserve(). Now just keeps calling _stp_data_write_reserve() until it has written the entire print buffer. * transport/ring_buffer.c (_stp_data_write_reserve): Breaks large reserve requests down into smaller ones for better buffer use. Returns the number of bytes reserved. * transport/transport.h: Updated _stp_data_write_reserve() prototype.
* | | | | 2009-03-30 David Smith <dsmith@redhat.com>David Smith2009-03-301-89/+79
| | | | | | | | | | | | | | | | | | | | * print_new.c: Whitespace/indent changes only.
* | | | | Working bulkmode support.David Smith2009-03-132-12/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-03-13 David Smith <dsmith@redhat.com> * print_new.c (stp_print_flush): Added bulkmode support for new transport. * transport/ring_buffer.c (__stp_find_next_entry): Fixed syntax error in bulkmode code. (_stp_transport_data_fs_init): Changed 'for_each_possible_cpu()' to 'for_each_online_cpu()' so that non-online cpu's won't have a trace file created.
* | | | | More bulkmode support.David Smith2009-03-131-44/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-03-13 David Smith <dsmith@redhat.com> * transport/ring_buffer.c (_stp_data_open_trace): Passes the inode's private data into the file's private data. (_stp_trace_seq_to_user): Deleted unused function. (trace_seq_reset): Ditto. (__stp_find_next_entry): Renamed and added bulkmode support. (_stp_find_next_entry): Updated call. (_stp_data_read_trace): Updated call.
* | | | | More bulkmode support. Only allows for one reader of all trace files.David Smith2009-03-131-7/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-03-13 David Smith <dsmith@redhat.com> * transport/ring_buffer.c (__stp_free_ring_buffer): Frees _stp_trace_reader_cpumask. (__stp_alloc_ring_buffer): Allocates and clears _stp_trace_reader_cpumask. (_stp_data_open_trace): Instead of using an atomic variable, uses a cpumask variable to allow for only one reader of trace files. (_stp_data_release_trace): Clears cpumask when trace files are closed.
* | | | | Start of STP_BULKMODE support.David Smith2009-03-121-12/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-03-12 David Smith <dsmith@redhat.com> * transport/ring_buffer.c (_stp_transport_data_fs_init): Start of STP_BULKMODE support - creates one trace file per cpu. (_stp_transport_data_fs_close): Cleans up one trace file per cpu.
* | | | | Merge branch 'master' of ssh://sources.redhat.com/git/systemtap into pr7043David Smith2009-03-128-118/+153
|\| | | |
| * | | | Adapt to linux-next commit changing __alloc_percpu API.Frank Ch. Eigler2009-03-082-22/+9
| | | | | | | | | | | | | | | | | | | | | | | | | After linux-next commit f2a8205c, it takes two parameters again, so we autoconf for it rather than use KERNEL_VERSION ifdefs.