| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
* ioscheduler.stp (ioscheduler.elv_add_request,
ioscheduler.elv_completed_request): Add checking $rq.
* memory.stp (_IS_ZERO_PAGE): Modify reference to arguments.
|
|
|
|
|
|
|
|
|
| |
PR 1315.
* target_set.stp: New tapset file.
* stapfuncs.5.in: Document new target_set tapset.
* buildok/fortyfive.stp: New test.
|
|
|
|
|
|
| |
* Makefile.am (install-exec-hook): Only make staprun setuid if
"make install" is being run as root.
* Makefile.in: Regenerated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4591
* parse.cxx (parser::parse_symbol): Tweak 'print' matching to allow
all the new variants with printd and println.
* staptree.h (struct print_format): Add fields for the new print
variants, and parse_print() to help matching.
* staptree.cxx (print_format::parse_print): New static method to
match the print variants and determine their properties.
(print_format::print): Handle the new print types.
(deep_copy_visitor::visit_print_format): Copy the new fields.
* translate.cxx (c_unparser::visit_print_format): Insert delims and
newlines where appropriate for new print functions.
* stap1.in: Document the new print functions.
testsuite/
* lib/stap_run.exp: Make sure to match the entire output, in case
there are multiple pass/fail messages.
* buildok/printf.stp: Add lines for new print variants.
* parseko/printd01.stp: Make sure that bad printd calls are handled.
* parseko/printd02.stp: Ditto.
* parseko/printd03.stp: Ditto.
* parseko/printd04.stp: Ditto.
* systemtap.base/print.stp: Try a bunch of different print calls.
* systemtap.base/print.exp: Driver for above.
|
|
|
|
| |
* all_syscalls.stp: New file. Useful for debugging.
|
|
|
|
|
|
|
|
| |
* aux_syscalls.stp (_sock_family_str):
Add PF_IUCV, PF_RXRPC, PF_TIPC.
From zhaolei@cn.fujitsu.com
Remove PF_UNIX. PF_LOCAL is correct.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* aux_syscalls.stp (__get_argv): Add parameter to
optionally skip the first argv (argv[0]).
(__get_compat_argv): Ditto.
* syscalls.stp (execve): Set args to the whole argv.
For argstr use filename plus argv starting at [1].
(compat_execve): Ditto.
* ppc64/syscalls.stp (sys32_exevve): Ditto.
From Cai Fei <caifei@cn.fujitsu.com>
* syscalls.stp (sts_getpgid): Add pid arg.
|
|
|
|
| |
* errno.stp: Fix Typo for EADV
|
|
|
|
|
|
| |
* aux_syscalls.stp(_reboot_flag_str,_futex_op_str,_mprotect_prot_str,
_fcntl_cmd_str, _quotaclt_cmd_str, _sock_type_str, _rlimit_resource_str,
_rusage_who_str): Add new entries, modify default return string."
|
|
|
|
|
|
|
|
|
| |
* x86_64/syscalls.stp: Add support for sys32_mmap[2],
sys32_vm86_warning, and sys32_pipe.
* s390x/syscalls.stp (get_mmap_args): Move to aux_syscalls.
* aux_syscalls.stp (get_mmap_args): Moved here.
* syscalls.stp: Add sys32_alarm.
* syscalls2.stp: Add sys32_uname.
|
|
|
|
| |
* staprun.c (main): Quit if effective uid is not root.
|
|
|
|
|
|
|
|
|
|
|
| |
* systemtap.spec.in: Updated %pre to latest Fedora group creation
guidelines.
* stap.1.in: Changed '/usr' to '@prefix@' so the values will be
updated correctly.
* stapfunc.5.in: Ditto.
* README.security: Typo fix.
|
|
|
|
|
|
|
|
|
| |
* systemtap.spec.in: Updated %pre to latest Fedora group creation
guidelines.
* stap.1.in: Changed '/usr' to '@prefix@' so the values will be
updated correctly.
* stapfunc.5.in: Ditto.
|
| |
|
|
|
|
|
|
| |
PR4736
* staprun.c (cleanup): Set priority back to normal
before removing module.
|
|
|
|
| |
* context.stp (cpuid, cpu): Use smp_processor_id().
|
|
|
|
|
| |
* Makefile.am: Removed stap_merge.
* Makefile.in: Rebuilt.
|
|
|
|
| |
* stap_merge.tcl: New.
|
|
|
|
| |
* systemtap.printf/*b.exp: Use stap_merge.tcl.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge from setuid-branch. Changes also by Martin Hunt
<hunt@redhat.com>.
* Makefile.am: Added staprun_funcs.c and cap.c to
staprun_SOURCES. Added -lcap to staprun_LDADD. Removed
stp_check reference. Added stapio program. Staprun is now
setuid.
* Makefile.in: Rebuilt.
* configure.ac: Version increase to 0.6 and checks for libcap
availability. Removed stp_check reference.
* configure: Regenerated.
* stp_check.in: Removed.
* systemtap.spec.in: Version increase to 0.6-1 and added
BuildReq for libcap-devl (and removed sudo requirement).
Added %pre script to create new groups. Staprun is now
setuid.
* NEWS: Added info on new security model.
* INTERNALS: Removed sudo reference.
* README.security: New file.
* main.cxx (main): Make sure module name isn't too long.
* hash.cxx: Moved MODULE_NAME_LEN define to hash.h.
* hash.h: Moved MODULE_NAME_LEN define here from hash.cxx.
* buildrun.cxx (run_pass): No longer runs staprun with "sudo".
* stap.1.in: Removed sudo references and added information about
the stapdev/stapusr groups.
* staprun.8.in: Added information about module detaching and
attaching. Removed sudo references and added information
about the stapdev/stapusr groups. Removed reference to
staprun needing to be run as root. Removed reference to
removed '-u USERNAME' option.
* .cvsignore: Removed stp_check and added stapio and stap_merge.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge from setuid-branch. Changes also by Martin Hunt
<hunt@redhat.com>.
* Makefile.am: Added staprun_funcs.c and cap.c to
staprun_SOURCES. Added -lcap to staprun_LDADD. Removed
stp_check reference. Added stapio program. Staprun is now
setuid.
* Makefile.in: Rebuilt.
* configure.ac: Version increase to 0.6 and checks for libcap
availability. Removed stp_check reference.
* configure: Regenerated.
* stp_check.in: Removed.
* systemtap.spec.in: Version increase to 0.6-1 and added
BuildReq for libcap-devl (and removed sudo requirement).
Added %pre script to create new groups. Staprun is now
setuid.
* NEWS: Added info on new security model.
* INTERNALS: Removed sudo reference.
* README.security: New file.
* main.cxx (main): Make sure module name isn't too long.
* hash.cxx: Moved MODULE_NAME_LEN define to hash.h.
* hash.h: Moved MODULE_NAME_LEN define here from hash.cxx.
* buildrun.cxx (run_pass): No longer runs staprun with "sudo".
* stap.1.in: Removed sudo references and added information about
the stapdev/stapusr groups.
* staprun.8.in: Added information about module detaching and
attaching. Removed sudo references and added information
about the stapdev/stapusr groups. Removed reference to
staprun needing to be run as root. Removed reference to
removed '-u USERNAME' option.
* .cvsignore: Removed stp_check and added stapio and stap_merge.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge from setuid-branch.
* configure.ac: Version increase to 0.6.
* configure: Regenerated.
* parseko/cmdline09.stp: Added new test for staprun command line
options.
* parseko/cmdline10.stp: Ditto.
* parseko/cmdline11.stp: Ditto.
* parseko/cmdline12.stp: Ditto.
* parseko/cmdline13.stp: Ditto.
* parseko/cmdline14.stp: Ditto.
* systemtap.samples/args.exp: No longer necessary to use "sudo" to
run staprun.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4593
* translate.cxx (c_unparser::emit_common_header): Add an
error_buffer to the context to allow dynamic error messages.
* tapsets.cxx (dwflpp::express_as_string): Let deref / store_deref
fill in last_error with a detailed message.
runtime/
* loc2c-runtime.h (deref, store_deref): Set an error message with
the pointer value and name into last_error, since it's hard to
determine the details once you've already jumped to deref_fault.
tapset/
* conversions.stp (kernel_string, kernel_long, kernel_int,
kernel_short, kernel_char, user_string_warn): Use the
CONTEXT->error_buffer to create an error message instead of a static
local array.
|
|
|
|
|
| |
From "Zhaolei" zhaolei@cn.fujitsu.com:
* syscalls.stp (msync.return): Correct name variable.
|
|
|
|
|
| |
From "Zhaolei" zhaolei@cn.fujitsu.com:
* aux_syscalls.stp (_sockopt_optname_str): Add SO_SND/RCVBUFFORCE.
|
|
|
|
|
| |
From Cai Fei <caifei@cn.fujitsu.com>:
* aux_syscalls.stp (__fork_flags): Decode CLONE_VM, NEWNS, DETACHED.
|
|
|
|
|
| |
PR 4718, from Eugeniy Meshcheryakov <eugen@debian.org>:
* *.stp: Make all shell scripts lead with #! /usr/bin/stap
|
|
|
|
|
| |
From Lai Jiangshan <laijs@cn.fujitsu.com>:
* translate.cxx (emit_module_exit): Use stp_warn for warning.
|
|
|
|
|
|
|
|
|
| |
* tapset/syscalls.stp (syscall.compat_execve,
syscall.compat_execve.return):
* tapset/syscalls2.stp (syscall.compat_sys_semtimedop,
syscall.compat_sys_semtimedop.return):
* tapset/i686/syscalls.stp (syscall.set_zone_reclaim,
syscall.set_zone_reclaim.return): Make optional.
|
| |
|
|
|
|
|
| |
From "Zhaolei" zhaolei@cn.fujitsu.com:
* aux_syscalls.stp (_sockopt_level_str): Correct level=1 string.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 4846
* parse.cxx (input_put): New function, sort of like stdio ungetc.
(input_get): Skip cursor position changing for input_put strings.
(scan): Rework $.../@... substitution into character pasting.
* parse.h: Corresponding changes.
* util.h (lex_cast_qstring): Octal-quote unprintable characters.
* stap.1.in, NEWS: Document new behaviour.
2007-08-07 Frank Ch. Eigler <fche@redhat.com>
PR 4846
* parseko/preprocess13.stp, parseok/nineteen.stp,
semok/twentyfive.stp: New tests.
|
|
|
|
|
|
|
|
|
|
| |
PR 4736 (partial fix)
* systemtap.printf/end1b.exp: Changed 'FAIL' to 'fail', so
the rest of the testsuite will continue.
* systemtap.printf/mixed_outb.exp: Ditto.
* systemtap.printf/out1b.exp: Ditto.
* systemtap.printf/out2b.exp: Ditto.
* systemtap.printf/out3b.exp: Ditto.
|
| |
|
|
|
|
| |
* aux_syscalls.stp (__get_compat_argv): Add cast.
|
| |
|
| |
|
|
|
|
| |
* syscalls*: Move sys32_sysctl to arch dirs.
|
|
|
|
| |
* clock.c (main): Change flags to hex.
|
|
|
|
|
|
| |
* syscalls.stp (clack_nanosleep): Fix flags string.
* syscalls2.stp: Fix typo.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* */syscalls.stp: Added mmap functions.
Continued moving common compatibility functions to
the main tapset.
* aux_syscalls.stp (_shmat_flags_str): New.
(__get_compat_argv): New.
* syscalls.stp (adjtimex): Just print hex argument.
(compat_adjtimex): New.
(clock_getres): Also probe compat_clock_getres.
(clock_gettime): Also probe compat funcs.
(compat_clock_nanosleep): New.
(compat_execve): New.
(fstatat): New.
(get[e][gu]id): Also probe sys32.
(getsockopt): Make optional. Also probe compat.
(mmap, mmap2): These are arch-specific, so move to individual
architecture subdirs.
(compat_sys_msgctl): New.
(compat_sys_msgrcv): New.
(compat_sys_msgsnd): New.
* syscalls.stp (pread32): Remove. It calls pread64 .
(quotactl): Make optional.
(recv): Probe correct function.
(recvfrom): Fix args.
(compat_sys_recvmsg): New.
(semctl): Make optional.
(compat_sys_semctl): New.
(semget): Make optional.
(semop): Make optional.
(semtimedop): Make optional.
(compat_sys_semtimedop): New.
(send): Make optional.
(sendmsg): Make optional.
(compat_sys_sendmsg): New.
(sendto): Make optional.
(setsockopt): Make optional. Add compat.
(shmat): New.
(compat_sys_shmat): New.
(shmctl): New.
(compat_sys_shmctl): New.
(shmdt): New.
(shmget): New.
(shutdown): Make optional.
(socket): Make optional.
(socketpair): Make optional.
(swapoff): Make optional.
(swapon): Make optional.
(sysctl): Add probe on sys32.
|
| |
|
|
|
|
|
| |
* ppc64/syscalls.stp: Remove duplicate sys_request_key{,.return}
aliases.
|
| |
|
|
|
|
|
|
|
| |
PR 4295
* systemtap.samples/args.exp: Tests to make sure the '-m' option
leaves a module in the current directory.
* systemtap.base/cache.exp (stap_compile): Added cleanup.
|
|
|
|
|
|
|
| |
PR 4295
* main.cxx (main): If '-m MODNAME' is used, the generated module
is saved in the current directory.
* stap.1.in: Updated '-m' description.
|