Merge tag 'trace-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
Pull tracing updates from Steven Rostedt: "The main changes in this release include: - Add user space specific memory reading for kprobes - Allow kprobes to be executed earlier in boot The rest are mostly just various clean ups and small fixes" * tag 'trace-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (33 commits) tracing: Make trace_get_fields() global tracing: Let filter_assign_type() detect FILTER_PTR_STRING tracing: Pass type into tracing_generic_entry_update() ftrace/selftest: Test if set_event/ftrace_pid exists before writing ftrace/selftests: Return the skip code when tracing directory not configured in kernel tracing/kprobe: Check registered state using kprobe tracing/probe: Add trace_event_call accesses APIs tracing/probe: Add probe event name and group name accesses APIs tracing/probe: Add trace flag access APIs for trace_probe tracing/probe: Add trace_event_file access APIs for trace_probe tracing/probe: Add trace_event_call register API for trace_probe tracing/probe: Add trace_probe init and free functions tracing/uprobe: Set print format when parsing command tracing/kprobe: Set print format right after parsed command kprobes: Fix to init kprobes in subsys_initcall tracepoint: Use struct_size() in kmalloc() ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS ftrace: Enable trampoline when rec count returns back to one tracing/kprobe: Do not run kprobe boot tests if kprobe_event is on cmdline tracing: Make a separate config for trace event self tests ...
This commit is contained in:
@@ -91,8 +91,8 @@ initialize_ftrace() { # Reset ftrace to initial-state
|
||||
reset_events_filter
|
||||
reset_ftrace_filter
|
||||
disable_events
|
||||
echo > set_event_pid # event tracer is always on
|
||||
echo > set_ftrace_pid
|
||||
[ -f set_event_pid ] && echo > set_event_pid
|
||||
[ -f set_ftrace_pid ] && echo > set_ftrace_pid
|
||||
[ -f set_ftrace_filter ] && echo | tee set_ftrace_*
|
||||
[ -f set_graph_function ] && echo | tee set_graph_*
|
||||
[ -f stack_trace_filter ] && echo > stack_trace_filter
|
||||
|
@@ -0,0 +1,32 @@
|
||||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# description: Kprobe event user-memory access
|
||||
|
||||
[ -f kprobe_events ] || exit_unsupported # this is configurable
|
||||
|
||||
grep -q '\$arg<N>' README || exit_unresolved # depends on arch
|
||||
grep -A10 "fetcharg:" README | grep -q 'ustring' || exit_unsupported
|
||||
grep -A10 "fetcharg:" README | grep -q '\[u\]<offset>' || exit_unsupported
|
||||
|
||||
:;: "user-memory access syntax and ustring working on user memory";:
|
||||
echo 'p:myevent do_sys_open path=+0($arg2):ustring path2=+u0($arg2):string' \
|
||||
> kprobe_events
|
||||
|
||||
grep myevent kprobe_events | \
|
||||
grep -q 'path=+0($arg2):ustring path2=+u0($arg2):string'
|
||||
echo 1 > events/kprobes/myevent/enable
|
||||
echo > /dev/null
|
||||
echo 0 > events/kprobes/myevent/enable
|
||||
|
||||
grep myevent trace | grep -q 'path="/dev/null" path2="/dev/null"'
|
||||
|
||||
:;: "user-memory access syntax and ustring not working with kernel memory";:
|
||||
echo 'p:myevent vfs_symlink path=+0($arg3):ustring path2=+u0($arg3):string' \
|
||||
> kprobe_events
|
||||
echo 1 > events/kprobes/myevent/enable
|
||||
ln -s foo $TMPDIR/bar
|
||||
echo 0 > events/kprobes/myevent/enable
|
||||
|
||||
grep myevent trace | grep -q 'path=(fault) path2=(fault)'
|
||||
|
||||
exit 0
|
Reference in New Issue
Block a user