| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
From Alan Brunelle
* control.c (_stp_ctl_read_cmd): Cast count to an int before printing.
|
|
|
|
|
| |
* transport.h: Increase default buffer size.
* control.c (_stp_ctl_read_cmd): Check buffer size.
|
|
|
|
|
|
|
| |
* procfs.c (_stp_register_ctl_channel): Call
_stp_mkdir_proc_module().
(_stp_unregister_ctl_channel): Call _stp_rmdir_proc_module().
* transport.c: Include ../procfs.c runtime procfs functions.
|
| |
|
|
|
|
|
|
|
|
| |
PR3857
From Masami Hiramatsu
* utt.c (utt_subbuf_start_callback): Use overwrite flag.
* control.c (_stp_ctl_open_cmd): Set overwrite_flag off.
(_stp_ctl_close_cmd): Set overwrite flag on.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge from setuid-branch. Changes also by Martin Hunt
<hunt@redhat.com>.
* control.c (_stp_ctl_write): Make sure we don't overflow.
(_stp_ctl_open_cmd): Do not allow multiple opens of the control
file.
(_stp_ctl_write_cmd): Once STP_START is received, ignore
everything except STP_EXIT. Create another state variable
"initialized". Don't respond to STP_SYMBOLS or STP_MODULES unless
initialized is 0. Also check that current pid is the same as the
pid that did insmod.
(_stp_register_ctl_channel): Bug fix - sets owner/group after
checking for NULL.
* procfs.c (_stp_ctl_write): Make sure we don't overflow.
(_stp_ctl_open_cmd): Do not allow multiple opens of the control
file.
(_stp_ctl_write_cmd): Once STP_START is received, ignore
everything except STP_EXIT. Create another state variable
"initialized". Don't respond to STP_SYMBOLS or STP_MODULES unless
initialized is 0. Also check that current pid is the same as the
pid that did insmod.
(_stp_register_ctl_channel): Set ownership of cmd file and percpu
files for bulkmode.
* relayfs.c (utt_trace_setup): Set ownership of percpu files.
Improved error handling.
(utt_trace_remove): Improved error checking.
* utt.c (utt_remove_tree): Improved error checking.
(utt_trace_cleanup): Ditto.
(utt_create_buf_file_callback): Set file ownership.
(utt_create_global_buf_file_callback): Set file ownership.
* transport.h: Delcare _stp_uid, _stp_gid, and _stp_init_pid.
* transport.c (_stp_transport_init): Set _stp_uid, _stp_gid, and
_stp_init_pid.
|
|
|
|
|
|
| |
Spotted by Ming Chang.
* procfs.c (_stp_register_ctl_channel): Fix iterator when removing
proc entries when an error occurs.
|
|
|
|
|
|
| |
* symbols.c (_stp_ins_module): Check for overflow of
modules array.
(_stp_do_module): If _stp_ins_module() fails, return an error.
|
|
|
|
|
|
| |
* symbols.c (_stp_do_symbols): Set "data" pointer for kernel to _etext.
(_stp_sort): New. sort function from the kernel.
(_stp_load_module_symbols): Use _stp_sort().
|
|
|
|
|
| |
* control.c (_stp_ctl_write_cmd): Add support for STP_BULK.
* transport_msgs.h (enum): Add STP_BULK.
|
| |
|
|
|
|
| |
* control.c (_stp_register_ctl_channel): Fix mode of cmd file.
|
| |
|
| |
|
|
|
|
|
|
| |
* control.c: Change default buffer number and size.
(_stp_ctl_write): Add debug statements. Check size of
message to avoid overwriting buffer.
|
|
|
|
| |
* utt.h (struct utt_trace): Remove sequence.
|
|
|
|
|
|
|
| |
* utt.c (utt_trace_cleanup): Remove free of utt->sequence.
(utt_dropped_open): PR 4415. Use STAPCONF_INODE_PRIVATE to detect
correct inode struct.
(utt_trace_setup): Do not allocate utt->sequence.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* transport_msgs.h (struct _stp_msg_trans): Deleted.
Transport parameters are now read from procfs.
* transport.c (_stp_ask_for_symbols): STP_TRANSPORT
message is empty.
* procfs.c (_stp_ctl_open_cmd): New. Set _stp_ pid.
(_stp_ctl_close_cmd): New. Unset _stp_pid.
(_stp_proc_fops_cmd): Add pointers to above funcs.
(_stp_ctl_read_bufsize): New.
(_stp_register_ctl_channel): Create a proc read entry
"bufsize" containing transport buffer sizes.
|
|
|
|
|
|
| |
* control.c (_stp_ctl_open_cmd): Set _stp_pid.
(stp_ctl_close_cmd): Clear _stp_pid.
* transport.h: Declare _stp_pid;
|
|
|
|
| |
* transport.c: Add #include <linux/namei.h> for lookup_one_len.
|
|
|
|
|
|
|
|
| |
* symbols.c (_stp_do_module): If a module has no symbols, just
return NULL instead of an errorcode.
* control.c, procfs.c, relayfs.c, transport.c, utt.c, utt.h:
Revert back to using systemtap/modulename instead of systemtap_pid.
|
|
|
|
|
|
|
|
|
|
|
| |
* sym.h: Declare _stp_module_relocate.
* sym.c (_stp_module_relocate): Add comments, reformat, add
a way for "last" cached values to be cleared when modules
are removed.
(_stp_symbol_print): Simplify and remove static buffer.
(_stp_symbol_snprint): Ditto.
* symbols.c (_stp_del_module): Add a call to _stp_module_relocate
to clear its cache.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4224.
* tapsets.cxx (add_probe_point): Make kernel implicitly relocated
relative to the _stext symbol.
(dwarf_derived_probe ctor, emit_module_decls): Cooperate.
(lookup_symbol_address): New function.
(dwarf_builder::build): Call it thrice.
(in_kprobes_function): Simplify.
* session.h (systemtap_session): Rename cached symbol addresses.
* translate.cxx, elaborate.cxx: Corresponding tweaks.
2007-03-20 Frank Ch. Eigler <fche@elastic.org>
PR 4224.
* sym.c (_stp_module_relocate): Support kernel relocations.
2007-03-20 Frank Ch. Eigler <fche@elastic.org>
* symbols.c (_stp_do_symbols): Add cautionary blurb for important
setup of _stp_modules[0]->text.
|
|
|
|
|
| |
* symbols.c (_stp_alloc_module): Fix up error
cleanup when malloc fails.
|
|
|
|
|
| |
* stack.c, string.c, sym.c, transport/symbols.c:
Fix some signed vs unsigned comparison warnings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* transport_msgs.h: ifdef old messages as such.
Add support for new transport.
* relayfs.c: Simplify and add new interface to look
like utt.
* utt.[ch]: New files. Similar to the proposed utt interface.
These setup and teardown relayfs on debugfs.
* control.c: New file. Implements a simple control channel.
A small subset of procfs.c.
* procfs.c: This is now only used for old kernels lacking newer
relayfs. Change STP_RELAYFS to STP_BULKMODE. Use new
messages from transport_msgs.h. Don't support
RELAYFS_CHANNEL_VERSION >= 4. CHanges all control channel functions
to new names. Use pids instead of module names in /proc names.
|
|
|
|
|
|
|
|
|
|
| |
* librelay.c (init_stp): Use /proc/MODULE rather than
/proc/systemtap/MODULE.
2007-03-12 Frank Ch. Eigler <fche@elastic.org>
* procfs.c (_stp_register_procfs): Use /proc/MODULE rather than
/proc/systemtap/MODULE.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4179.
Based on patch from Vasily Averin <vvs@sw.ru>:
* time.c (_stp_init_time): Recover from partial failures.
2007-03-12 Frank Ch. Eigler <fche@redhat.com>
PR 4179.
Based on patch from Vasily Averin <vvs@sw.ru>:
* procfs.c (_stp_register_procfs): Recover from partial failures.
* transport.c (_stp_transport_open): Ditto.
|
|
|
|
| |
* symbols.c: Comment out many debug lines.
|
|
|
|
|
|
| |
* procfs.c: Count allocated IO memory.
* symbols.c: Use _stp_kmalloc() and _stp_kzalloc().
* transport.c: Count allocated IO memory.
|
|
|
|
|
|
| |
* symbols.c (_stp_del_module): Fix so memory allocated
for module 0 (kernel) is freed.
(_stp_free_modules): No need to lock module list.
|
|
|
|
| |
* transport.c: Fixes to use the new 2.6.20 workqueue API.
|
|
|
|
|
|
|
|
| |
* procfs.c (_stp_proc_write_cmd): For STP_SYMBOLS,
type field is a long to preserve alignment.
Use STP_ALLOC_FLAGS.
* symbols.c: Use STP_ALLOC_FLAGS.
|
|
|
|
| |
bugfix of the obsolete buf_info and consumed_info.
|
|
|
|
|
|
|
|
| |
* transport_msgs.h: Change all ints to int32_t. Prefix
all struct names with "_stp".
* transport.c: Use new struct names.
(_stp_handle_start): Send pointer size and endianess.
* procfs.c: Use new struct names.
|
|
|
|
| |
* symbols.c (_stp_do_module): Fix error message.
|
| |
|
|
|
|
|
| |
* transport.c: Changed 'stpd' references to 'staprun'.
* transport.txt: Ditto.
|
|
|
|
|
|
|
| |
* transport.c (_stp_handle_start): Don't initialize timers here.
(_stp_transport_init): Initialize timers here.
(_stp_cleanup_and_exit): Don't kill timers or free print buffers here.
(_stp_transport_close): kill timers and free print buffers here.
|
| |
|
|
|
|
|
| |
* transport.c (_stp_work_queue): Reenable some cleanup
code.
|
|
|
|
|
| |
* transport.c (_stp_transport_init): Call _stp_print_init().
(_stp_cleanup_and_exit): Call _stp_print_cleanup().
|
| |
|
| |
|
|
|
|
|
| |
* transport_msgs.h (struct transport_info): Add merge field.
* transport.c (_stp_transport_open): Set merge field.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
runtime/
* time.c: Time-estimation with minimal dependency on xtime.
runtime/transport/
* transport/transport.c (_stp_handle_start): Initialize timer functions.
* transport.c (_stp_cleanup_and_exit): Teardown timer functions.
tapset/
* timestamp.stp (gettimeofday_us, gettimeofday_ms, gettimeofday_s):
Convert to using the runtime-provided _stp_gettimeofday_us().
|
|
|
|
|
| |
* transport.c (_stp_transport_close): Destroy workqueue when
done.
|
|
|
|
|
|
| |
* transport.c: Using the default workqueue was causing problems
because of the long delays on probe_exit(). Created a new
systemtap work queue and used that instead.
|
|
|
|
|
| |
* procfs.c (_stp_write): Always use spin_lock_irqsave() because
this function can sometimes be called with interrupts enabled.
|