summaryrefslogtreecommitdiffstats
path: root/runtime/staprun
Commit message (Collapse)AuthorAgeFilesLines
...
* rebased unwind_branch on top of current masterFrank Ch. Eigler2008-03-255-172/+182
|
* 2008-02-27 Martin Hunt <hunt@redhat.com>hunt2008-02-271-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* 2008-02-21 David Smith <dsmith@redhat.com>dsmith2008-02-212-3/+17
| | | | * staprun_funcs.c (check_path): Small security fix.
* Print out more descriptive error messages on non-root systemtap invocationananth2008-02-041-2/+9
| | | | Thanks to Jim for fixing typos and grammar.
* Fix last checkin.hunt2008-01-211-77/+4
|
* 2008-01-21 Martin Hunt <hunt@redhat.com>hunt2008-01-213-14/+87
| | | | | * symbols.c (send_module): Simplify and use new send_data() function to keep longword alignment.
* PR4037 and fixes to better synchronize staprun and stapio.hunt2008-01-155-115/+165
|
* PR5603 hack for stack smashfche2008-01-122-2/+7
| | | | | | | 2008-01-12 Frank Ch. Eigler <fche@elastic.org> PR 5603 horrible hack. * symbols.c (do_kernel_symbols): Make buf[256] instead of [128].
* 2007-12-11 Martin Hunt <hunt@redhat.com>hunt2007-12-113-17/+27
| | | | | | | PR5368 * relay_old.c (init_oldrelayfs): Don't start threads if load_only. * relay.c (init_relayfs): Ditto.
* 2007-11-09 Martin Hunt <hunt@redhat.com>hunt2007-11-092-1/+6
| | | | | * mainloop.c (stp_main_loop): Bump recvbuf to 8196 for compatibility with old transport.
* 2007-10-26 Martin Hunt <hunt@redhat.com>hunt2007-10-262-1/+10
| | | | | | PR5218 * stapio.c (main): Set initialized properly when attached.
* 2007-10-12 Martin Hunt <hunt@redhat.com>hunt2007-10-128-27/+81
| | | | | | | | | | | | | | | | Changes to separate the symbols from the command channel. * cap.c (init_cap): Add CAP_DAC_OVERRIDE. * staprun.h: Change init_ctl_channel prototype. * ctl.c (init_ctl_channel): Modify to open either a command or symbol channel. Use ".cmd" and ".symbols" as the new names. * mainloop.c (init_stapio): Call init_ctl_channel(0); * staprun.c (cleanup): Call stop_symbol_thread(). (main): Call start_symbol_thread(). * staprun_funcs.c (handle_symbols): Make a thread. (start_symbol_thread): New. (stop_symbol_thread): New.
* * staprun error-check reordering for parseko/cmdline* testsfche2007-10-122-9/+16
| | | | | * staprun.c (main): Move checks for init_cap and getuid from just before command line argument parsing to just after.
* 2007-10-09 Martin Hunt <hunt@redhat.com>hunt2007-10-096-3/+45
| | | | | | | * common.c (set_clexec): New. * staprun.h: Add prototype for set_clexec. * relay*.c, ctl.c: Call set_clexec after file opens.
* PR 5709kenistoj2007-10-084-25/+90
| | | | | | | | | | | | | | | | | | | | | | | * 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
* 2007-09-14 Martin Hunt <hunt@redhat.com>hunt2007-09-143-38/+14
| | | | | | | | | * ctl.c (init_ctl_channel): Return 1 if the ctl file opened was for the old relayfs transport. * mainloop.c (init_stapio): Don't call using_old_transport(). Use the return of init_ctl_channel() instead. (using_old_transport): Deleted.
* 2007-08-31 Martin Hunt <hunt@redhat.com>hunt2007-08-312-0/+2
| | | | | | * mainloop.c (start_cmd): Set the priority to forked processes back to normal. (system_cmd): Ditto.
* 2007-08-31 Martin Hunt <hunt@redhat.com>hunt2007-08-312-0/+8
| | | | | * mainloop.c (start_cmd): Set the priority to forked processes back to normal.
* 2007-08-21 Martin Hunt <hunt@redhat.com>hunt2007-08-212-3/+19
| | | | | * mainloop.c (start_cmd): Send SIGINT to target_cmd, not stapio.
* 2007-08-20 David Smith <dsmith@redhat.com>dsmith2007-08-202-0/+11
| | | | | | From Lai Jiangshan <laijs@cn.fujitsu.com> * common.c (parse_args): Make sure the '-c' and '-x' options can't be specified together.
* 2007-08-15 David Smith <dsmith@redhat.com>dsmith2007-08-152-1/+11
| | | | * staprun.c (main): Quit if effective uid is not root.
* 2007-08-15 Martin Hunt <hunt@redhat.com>hunt2007-08-153-2/+9
| | | | | | PR4736 * staprun.c (cleanup): Set priority back to normal before removing module.
* 2007-08-15 Martin Hunt <hunt@redhat.com>hunt2007-08-152-0/+106
| | | | * stap_merge.tcl: New.
* 2007-08-14 David Smith <dsmith@redhat.com>dsmith2007-08-141-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge from setuid-branch. Changes also by Martin Hunt <hunt@redhat.com>. * staprun.c (init_staprun): Drop CAP_SYS_ADMIN when we're done with it. (main): Calls parse_modpath instead of path_parse_modname. Just call parse_modpath with argv[optind]. Let it allocate and set modpath and modname. If no modulename was given, display usage and exit. Drop CAP_SYS_NICE when we're done with it. Set atexit(exit_cleanup) so cleanup always gets called and modules get removed. Call handle_symbols. (run_stapio): Set argv[0] to stapio so that it executes as itself instead of staprun. (cleanup): Only do cleanups once and only try to remove module when appropriate. (exit_cleanup): New. Calls cleanup(). (mountfs): Sets uid to root before making directory and then restores uid. (setup_ctl_channel): Uses DEBUGFS define and improved error message. (setup_relayfs): Ditto. (setup_oldrelayfs): Uses DEBUGFS and RELAYFS defines. (run_stp_check): Replaced by mountfs(). (mountfs): New function. Replaces an external script with C code. (init_staprun): Calls mountfs() instead of run_stp_check(). * staprun.h: Renamed path_parse_modname to parse_modpath. Added MODULE_NAME_LEN define. Added [_][p]err macros. Removed VERSION_CMD. * mainloop.c (cleanup_and_exit): Make sure initialized is 2 before exiting with code 2. (stp_main_loop): Set initialized to 2 when STP_TRANSPORT is received. Call cleanup_and_exit() with proper status. (start_cmd): exit 1 instead of -1. (system_cmd): Ditto. (init_staprun): Renamed init_stapio. (cleanup_and_exit): Set exit status. * cap.c: New file. * common.c: New file. * stapio.c: New file. * staprun_funcs.c: New file. * Makefile: Removed. * symbols.c (get_sections): Move the filter code up so that uninteresting section names are filtered out before attempting to open them. (do_kernel_symbols): Better detect overfow conditions and realloc new space. (do_module): After sending all modules, send a null message to indicate we are finished. * ctl.c (init_ctl_channel): When attempting to attach, if the control channel doesn't exist, print a better error message. * relay_old.c (init_oldrelayfs): Errors out if open_relayfs_files() couldn't open any files. PR 4795 * mainloop.c (send_request): Fixed buffer overflow check. * staprun.h: Added buffer overflow checking versions of strcpy/sprintf/snprintf. * common.c (path_parse_modname): Checks for overflows on strcpy/sprintf/snprintf. (read_buffer_info): Ditto. * ctl.c (init_ctl_channel): Ditto. * relay.c (init_relayfs): Ditto. * relay_old.c (open_relayfs_files): Ditto. (init_oldrelayfs): Ditto. * staprun_funcs.c (insert_module): Ditto. (check_path): Ditto. * symbols.c (get_sections): Ditto.
* 2007-08-14 David Smith <dsmith@redhat.com>dsmith2007-08-1412-483/+1596
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge from setuid-branch. Changes also by Martin Hunt <hunt@redhat.com>. * staprun.c (init_staprun): Drop CAP_SYS_ADMIN when we're done with it. (main): Calls parse_modpath instead of path_parse_modname. Just call parse_modpath with argv[optind]. Let it allocate and set modpath and modname. If no modulename was given, display usage and exit. Drop CAP_SYS_NICE when we're done with it. Set atexit(exit_cleanup) so cleanup always gets called and modules get removed. Call handle_symbols. (run_stapio): Set argv[0] to stapio so that it executes as itself instead of staprun. (cleanup): Only do cleanups once and only try to remove module when appropriate. (exit_cleanup): New. Calls cleanup(). (mountfs): Sets uid to root before making directory and then restores uid. (setup_ctl_channel): Uses DEBUGFS define and improved error message. (setup_relayfs): Ditto. (setup_oldrelayfs): Uses DEBUGFS and RELAYFS defines. (run_stp_check): Replaced by mountfs(). (mountfs): New function. Replaces an external script with C code. (init_staprun): Calls mountfs() instead of run_stp_check(). * staprun.h: Renamed path_parse_modname to parse_modpath. Added MODULE_NAME_LEN define. Added [_][p]err macros. Removed VERSION_CMD. * mainloop.c (cleanup_and_exit): Make sure initialized is 2 before exiting with code 2. (stp_main_loop): Set initialized to 2 when STP_TRANSPORT is received. Call cleanup_and_exit() with proper status. (start_cmd): exit 1 instead of -1. (system_cmd): Ditto. (init_staprun): Renamed init_stapio. (cleanup_and_exit): Set exit status. * cap.c: New file. * common.c: New file. * stapio.c: New file. * staprun_funcs.c: New file. * Makefile: Removed. * symbols.c (get_sections): Move the filter code up so that uninteresting section names are filtered out before attempting to open them. (do_kernel_symbols): Better detect overfow conditions and realloc new space. (do_module): After sending all modules, send a null message to indicate we are finished. * ctl.c (init_ctl_channel): When attempting to attach, if the control channel doesn't exist, print a better error message. * relay_old.c (init_oldrelayfs): Errors out if open_relayfs_files() couldn't open any files. PR 4795 * mainloop.c (send_request): Fixed buffer overflow check. * staprun.h: Added buffer overflow checking versions of strcpy/sprintf/snprintf. * common.c (path_parse_modname): Checks for overflows on strcpy/sprintf/snprintf. (read_buffer_info): Ditto. * ctl.c (init_ctl_channel): Ditto. * relay.c (init_relayfs): Ditto. * relay_old.c (open_relayfs_files): Ditto. (init_oldrelayfs): Ditto. * staprun_funcs.c (insert_module): Ditto. (check_path): Ditto. * symbols.c (get_sections): Ditto.
* 2007-07-09 David Smith <dsmith@redhat.com>dsmith2007-07-092-1/+7
| | | | | * relay.c (init_relayfs): Fixed a buffer size bug introduced by the last change.
* 2007-07-09 David Smith <dsmith@redhat.com>dsmith2007-07-093-2/+8
| | | | | | * relay.c (init_relayfs): Make sure buffers are big enough to hold a full path. * relay_old.c (init_oldrelayfs): Ditto.
* 2007-07-09 David Smith <dsmith@redhat.com>dsmith2007-07-092-2/+8
| | | | | | * ctl.c (read_buffer_info): Make sure buffer is big enough to hold a full path. (init_ctl_channel): Ditto.
* 2007-07-02 Martin Hunt <hunt@redhat.com>hunt2007-07-022-2/+9
| | | | | * symbols.c (get_sections): Set data pointer to the lowest address of any data section.
* *** empty log message ***hunt2007-06-211-1/+1
|
* 2007-06-21 Martin Hunt <hunt@redhat.com>hunt2007-06-212-3/+12
| | | | * relay.c (init_relayfs): Send message to check for bulkmode.
* 2007-06-20 Martin Hunt <hunt@redhat.com>hunt2007-06-202-9/+42
| | | | | | * stap_merge.c (main): Add verbose option. Will realloc buffer if current size is too small. Check return codes from writes so gcc won't complain.
* 2007-06-07 Martin Hunt <hunt@redhat.com>hunt2007-06-072-2/+14
| | | | | * relay_old.c (open_relayfs_files): Add support for output file names (-o) with bulk (relayfs) mode.
* 2007-06-04 Martin Hunt <hunt@redhat.com>hunt2007-06-042-11/+23
| | | | | | | * mainloop.c (cleanup_and_exit): Disable signals while exiting. (fatal_handler): Use return values from write() to avoid warnings.
* 2007-05-24 Martin Hunt <hunt@redhat.com>hunt2007-05-242-1/+5
| | | | * mainloop.c (cleanup_and_exit): Fix typo.
* 2007-05-22 Martin Hunt <hunt@redhat.com>hunt2007-05-222-1/+3
| | | | * mainloop.c (init_staprun): Change dbug() call.
* 2007-05-22 Martin Hunt <hunt@redhat.com>hunt2007-05-222-13/+35
| | | | | * relay.c: Fix ppoll() call and some race conditions involving signals.
* 2007-05-10 Martin Hunt <hunt@redhat.com>hunt2007-05-102-1/+6
| | | | | * relay.c (reader_thread): Set timeout for streaming to 200ms.
* 2007-05-09 Martin Hunt <hunt@redhat.com>hunt2007-05-092-1/+6
| | | | | * relay.c (reader_thread): For bulk mode, set timeout to NULL so ppoll never times out.
* 2007-05-08 Martin Hunt <hunt@redhat.com>hunt2007-05-082-1/+27
| | | | | * relay.c (ppoll): Add a compatibility function for glibc < 2.4.
* 2007-05-08 Martin Hunt <hunt@redhat.com>hunt2007-05-087-82/+154
| | | | | | | | | | | | | | | | | | Signal handler cleanup. * mainloop.c (fatal_handler): New. Cleanly handle unexpected fatal signals. (setup_main_signals): New. Set signals once mainloop is entered. (setup_signals): New. Block certain signals during initialization. Set handler for fatal signals. * relay.c (reader_thread): Use ppoll(). Terminate on SIGUSR2 after reading any remaining data. (close_relayfs): Remove sleep hack. Send SIGUSR2 to all threads. Runtime debug messages. * staprun.h: Change dbug() to accept a debuglevel and enable it. * *.c: Modify dbug() calls.
* 2007-05-07 Martin Hunt <hunt@redhat.com>hunt2007-05-074-5/+22
| | | | | | Patch from David Smith * mainloop.c (stp_main_loop): Properly handle write() return value. Fixes build problem with some compilers.
* 2007-04-10 Martin Hunt <hunt@redhat.com>hunt2007-04-102-0/+6
| | | | | * relay.c (close_relayfs): Give threads some time to run before closing.
* 2007-04-06 Martin Hunt <hunt@redhat.com>hunt2007-04-063-6/+10
| | | | | | * stp_merge.c (main): Remove extra newline in output. * stap_merge.c: Renamed from stp_merge.c. * Makefile: Updated.
* 2007-04-02 Martin Hunt <hunt@redhat.com>hunt2007-04-025-35/+112
| | | | | | | | | | | | | * relay_old.c (close_oldrelayfs): If just detaching, call pthread_cancel. (open_relayfs_files): Just return 0 if relay_fd[cpu] not opened. (init_oldrelayfs): Scan percpu files to calculate ncpus. * mainloop.c (init_staprun): Call old transport init when necessary. (cleanup_and_exit): Ignore signals when cleaning up. * ctl.c (read_buffer_info): For old transport, need to read transport parameters.
* 2007-03-26 Martin Hunt <hunt@redhat.com>hunt2007-03-267-123/+149
| | | | | | | | | | | | | | | | * mainloop.c (run_stp_check): Just use system() call. (init_staprun): Remove _stp_pid module parameter. (cleanup_and_exit): If closed==2, just exit without removing module. (driver_poll): Remove. We no longer require stap running. (_stp_main_loop): Remove call to driver_poll. * ctl.c (init_ctl_channel): Don't put files in systemtap_pid, revert back to systemtap/modulename. * relay.c: Revert back to systemtap/modulename paths. * relay_old.c: Ditto. * staprun.c: Add -L and -A args.
* 2007-03-20 Martin Hunt <hunt@redhat.com>hunt2007-03-203-6/+29
| | | | | | * symbols.c (send_module): If send returns < 0 then cleanup and exit. (do_kernel_symbols): Ditto.
* 2007-03-18 Martin Hunt <hunt@redhat.com>hunt2007-03-193-5/+20
| | | | | * staprun.h (err): Define. * symbols.c (get_sections): More overflow checking.
* 2007-03-18 Martin Hunt <hunt@redhat.com>hunt2007-03-182-2/+10
| | | | | * symbols.c (get_sections): Filter out .gnu.linkonce.* sections except for .gnu.linkonce.this_module.
* *** empty log message ***hunt2007-03-181-3/+1
|