| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
| |
|
|
|
|
| |
compile them into the module.
|
|
|
|
| |
work with the unwinder.
|
| |
|
| |
|
|
|
|
|
| |
Recognize when a kretprobe trampoline was hit and continue with inexact stack dump.
Also some testsuite changes.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sym.h (_stp_module): Add text_size, lock, and unwind data
pointer.
* sym.c (_stp_find_module_by_addr): New function.
(_stp_kallsyms_lookup): Call _stp_find_module_by_addr().
(_stp_get_unwind_info): New.
* runtime.h: Move debug macros to debug.h. Include it.
* debug.h: New file.
* map.c: Update debug calls.
* map-gen.c: Update debug calls.
* pmap-gen.c: Update debug calls.
* mempool.c: New file.
* symbols.c: Use rwlocks. Use new dbug macros. Handle
unwind info if present.
* transport.c: Include mempool.c. Update dbug and kbug calls
to new macros.
* transport_msgs.h (_stp_command_name): Add
struct containing message names for debugging.
* control.c, procfs.c: Use new dbug macros. Use
new mempool functions.
|
|
|
|
| |
* control.c, procfs.c, symbols.c: Use DEFINE_SPINLOCK
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR3858
* print.c: Add -DRELAY_HOST=<hostname> and -DRELAY_GUEST=<hostname>
options support.
(_stp_print_flush): Disable irqs if -DRELAY_* option is specified.
* print_old.c: Export stp_print_flush to other modules if the
-DRELAY_HOST option is specified.
* print_new.c: Ditto.
* transport.c (_stp_transport_init): Reduce relay buffer size to
64KB*2 if -DRELAY_GUEST is specified.
* systemtap.printf/sharedbuf.exp: New test for buffer sharing option.
* systemtap.printf/sharedbuf.stp: Ditto.
* systemtap.printf/hello.stp: Ditto.
* systemtap.printf/hello2.stp: Ditto.
|
|
|
|
|
|
|
|
|
| |
PR 5281
* transport.c (_stp_detach, _stp_attach): Call utt_set_overwrite()
instead of setting a flag directly.
* utt.c (utt_set_overwrite): New. Set overwrite mode.
* relayfs.c (utt_set_overwrite): New. Set overwrite mode.
* utt.h: Remove global utt_overwrite_flag.
|
|
|
|
|
|
| |
* procfs.c, control.c, transport.c: Recognize when stapio
is detached and disable delayed work. Enable when attached.
Cleanup code to destroy workqueue on exit.
|
|
|
|
|
|
|
|
|
|
| |
* transport.c (_stp_ask_for_symbols): Don't ask for
transport_info yet. Need to wait until symbols are
received.
(_stp_work_queue): Rename _stp_ready_q to _stp_ctl_ready_q.
* procfs.c: Create a ".symbols" channel and use it for
STP_MODULE and STP_SYMBOLS. Rename "cmd" channel to ".cmd".
* control.c: Ditto.
|
|
|
|
|
| |
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.
|