| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| | |
* runtime/staprun/relay.c (reader_thread): Check switch_file thread flags
inside inner read-write loop. And clear the flags after switching file.
|
|/ |
|
|
|
|
| |
changes.
|
|\ |
|
| |
| |
| |
| | |
* runtime/uprobes/uprobes_ppc.c (calc_offset): Fix printk types.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
do_div accepts unsigned 64-bit integer type for dividend, signed types
would cause do_div's typecheck fail:
stat-common.c: In function 'needed_space':
stat-common.c:50: error: comparison of distinct pointer types lacks a cast
...same errors in time.c and tapset-timers.cxx's generated code...
A fix for time.c is special, on ppc32 cycles_t is 32-bit, so technically
we don't need do_div, but since the whole _stp_gettimeofday_ns() operates
on 64-bit types we'd better be safe and use uint64_t for the math.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Currently staprun fails at send_relocation_kernel(), this is because
ppc32 doesn't have ".__start" symbol. I think we should use _stext,
just as other arches.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
|
| |
| |
| |
| |
| |
| |
| | |
_div64 and _mod64 arch-specific details were taken from gcc/longlong.h,
just as it was done for i386.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* runtime/copy.c: Can use ppc64's code.
* runtime/regs.h: Ditto.
* runtime/string.h: Ditto.
* tapset/context.stp: Ditto.
* tapset/errno.stp: Ditto.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Get rid of magic numbers, use appropriate defines from ptrace.h.
From now on stack-ppc.c should be suitable for ppc32.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
|
| |
| |
| |
| |
| |
| | |
There should be no functional changes in this patch.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
|
| |
| |
| |
| |
| |
| |
| | |
The code *looks* generic enough, so I think it can be used for ppc32
without modifications.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
|
|/ |
|
|
|
|
|
| |
* runtime/itrace.c (usr_itrace_report_signal): On modern utrace,
must check/propagate utrace_signal_action().
|
|
|
|
|
| |
* runtime/alloc.c (_stp_alloc_percpu): Refuses to allocate too much percpu
memory.
|
|
|
|
|
| |
* runtime/staprun/staprun_funcs.c (assert_stap_module_permissions): Mark
parameters unused.
|
|
|
|
| |
canonicalizing /lib/modules/KVER/systemtap.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
* runtime/sym.c (_stp_tf_mmap_cb): Only look for first load of whole module
that is executable. Add check for detecting reloading of module.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
group owner of the uprobes buld directory to build uprobes.ko.
- When building uprobes.ko, make all generated files writable by the group
owner of the uprobes build directory.
- Don't change the group owner of the uprobes build directory during
'make install'
|
|\| |
|
| |\ |
|
| | |
| | |
| | |
| | | |
limited to members of stapusr.
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | | |
Conflicts:
configure
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We are abusing the "first" section address here to indicate where the
module (actually first segment) is loaded (which is why we are ignoring
the offset). It would be good to redesign the stp_module/stp_section
data structures to better align with the actual memory mappings we are
interested in (especially the "section" naming is slightly confusing
since what we really seem to mean are elf segments (which can contain
multiple elf sections).
* runtime/sym.c (_stp_tf_mmap_cb): Add cheat comment.
|
| |
| |
| |
| |
| |
| |
| |
| | |
* dwflpp.cxx (dwflpp::emit_address): Enable task finder and emit a
_stp_module_relocate for the ".dynamic" section when seeing a
user-space dso address.
* runtime/sym.c (_stp_mod_sec_lookup): Remove .dynamic section addr cheat.
(_stp_tf_mmap_cb): Add cheat here.
|
| |
| |
| |
| |
| |
| |
| | |
* runtime/sym.h: Define _stp_need_vma_tracker.
* translate.cxx (emit_symbol_data_done): Output _stp_need_vma_tracker value.
(c_unparser::emit_module_init): If STP_NEED_VMA_TRACKER isn't defined
check _stp_need_vma_tracker to call _stp_sym_init().
|
| |
| |
| |
| |
| | |
Ensure uprobes install directory has group 'stap-server'.
Rename igid_in to in_group.
|
| | |
|
| |
| |
| |
| | |
individually.
|
| | |
|
|/ |
|
|
|
|
| |
Delete ownership & permissions tests from modsign.cxx and stap-serverd.
|
|
|
|
| |
database.
|
|
|
|
| |
Update comments to clearly explain the security issues involved.
|
|
|
|
|
|
|
|
| |
messages within verify_it with the use of a 'module_name'
parameter passed in.
Add a comment in insert_module explaining why it's ok to
overwrite the 'path' parameter with the canonicalized path.
|
|\ |
|
| |
| |
| |
| | |
atomic_cmpxchg
|
|/
|
|
|
|
|
|
|
|
|
| |
This allows insert_module to to be used for loading the signed uprobes.ko
module.
Allow the use of $$parms and $$return in uprobes based probes for
unprivileged users.
Re-add management of module signatures in the cache. Don't know why
it was removed.
|
| |
|
|
|
|
| |
Create home directory manually for stap-server.
|
|
|
|
|
| |
* runtime/staprun/mainloop.c (stp_main_loop): Switched to unbuffered
output (instead of line buffered output).
|
|
|
|
|
|
| |
This patch just make the RC=1 when any output line starts with ERROR:.
Also some minors error that was returning 0 instead of 1 were fixed.
|
|
|
|
|
| |
* runtime/transport/transport.h: Removed extra declarations of
_stp_transport_init() and _stp_transport_close().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We had a race where the probe setup could be called during/after the
probe shutdown in abnormal circumstances, which leads to kernel
callbacks still registered after module unload. (BOOM)
Now the setup/shutdown activities and related flags are guarded by a
mutex, so we should have strict ordering.
* runtime/transport/transport.c (_stp_transport_mutex): New.
(_stp_handle_start): Grab the mutex, and make sure we're not exiting.
(_stp_cleanup_and_exit): Grab the mutex.
(_stp_lock_inode, _stp_unlock_inode): Use kernel version for checking
inode locking type.
|
|
|
|
|
|
|
|
|
|
|
|
| |
For scripts with thousands of probes, we save a fair amount of code-gen
time in pass-4 by having the common locking code extracted into shared
functions.
* runtime/probe_lock.h (stp_lock_probe, stp_unlock_probe): New.
* translate.cxx (c_unparser::emit_lock_decls): New, emits a static
const array of locks needed for each probe.
(c_unparser::emit_locks): Just call stp_lock_probe.
(c_unparser::emit_unlocks): Just call stp_unlock_probe.
|
|
|
|
|
| |
* runtime/unwind.c (processCFI): Fail if the number of instructions is
larger than MAX_CFI (currently 512).
|