Merge tag 'trace-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 15 Oct 2020 22:51:28 +0000 (15:51 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 15 Oct 2020 22:51:28 +0000 (15:51 -0700)
Pull tracing updates from Steven Rostedt:
 "Updates for tracing and bootconfig:

   - Add support for "bool" type in synthetic events

   - Add per instance tracing for bootconfig

   - Support perf-style return probe ("SYMBOL%return") in kprobes and
     uprobes

   - Allow for kprobes to be enabled earlier in boot up

   - Added tracepoint helper function to allow testing if tracepoints
     are enabled in headers

   - Synthetic events can now have dynamic strings (variable length)

   - Various fixes and cleanups"

* tag 'trace-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (58 commits)
  tracing: support "bool" type in synthetic trace events
  selftests/ftrace: Add test case for synthetic event syntax errors
  tracing: Handle synthetic event array field type checking correctly
  selftests/ftrace: Change synthetic event name for inter-event-combined test
  tracing: Add synthetic event error logging
  tracing: Check that the synthetic event and field names are legal
  tracing: Move is_good_name() from trace_probe.h to trace.h
  tracing: Don't show dynamic string internals in synthetic event description
  tracing: Fix some typos in comments
  tracing/boot: Add ftrace.instance.*.alloc_snapshot option
  tracing: Fix race in trace_open and buffer resize call
  tracing: Check return value of __create_val_fields() before using its result
  tracing: Fix synthetic print fmt check for use of __get_str()
  tracing: Remove a pointless assignment
  ftrace: ftrace_global_list is renamed to ftrace_ops_list
  ftrace: Format variable declarations of ftrace_allocate_records
  ftrace: Simplify the calculation of page number for ftrace_page->records
  ftrace: Simplify the dyn_ftrace->flags macro
  ftrace: Simplify the hash calculation
  ftrace: Use fls() to get the bits for dup_hash()
  ...

1  2 
Documentation/trace/histogram.rst
Documentation/trace/kprobetrace.rst
MAINTAINERS
include/linux/tracepoint-defs.h
kernel/kprobes.c
kernel/trace/ftrace.c
kernel/trace/trace.c
kernel/trace/trace_events.c
kernel/trace/trace_printk.c
tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc

Simple merge
Simple merge
diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -90,11 -90,17 +90,17 @@@ echo 'p:kprobes/testevent kernel_clone
  check_error '^r:kprobes/testevent do_exit'    # DIFF_PROBE_TYPE
  
  # Explicitly use printf "%s" to not interpret \1
 -printf "%s" 'p:kprobes/testevent _do_fork abcd=\1' > kprobe_events
 -check_error 'p:kprobes/testevent _do_fork ^bcd=\1'    # DIFF_ARG_TYPE
 -check_error 'p:kprobes/testevent _do_fork ^abcd=\1:u8'        # DIFF_ARG_TYPE
 -check_error 'p:kprobes/testevent _do_fork ^abcd=\"foo"'       # DIFF_ARG_TYPE
 -check_error '^p:kprobes/testevent _do_fork abcd=\1'   # SAME_PROBE
 +printf "%s" 'p:kprobes/testevent kernel_clone abcd=\1' > kprobe_events
 +check_error 'p:kprobes/testevent kernel_clone ^bcd=\1'        # DIFF_ARG_TYPE
 +check_error 'p:kprobes/testevent kernel_clone ^abcd=\1:u8'    # DIFF_ARG_TYPE
 +check_error 'p:kprobes/testevent kernel_clone ^abcd=\"foo"'   # DIFF_ARG_TYPE
 +check_error '^p:kprobes/testevent kernel_clone abcd=\1'       # SAME_PROBE
  fi
  
+ # %return suffix errors
+ if grep -q "place (kretprobe): .*%return.*" README; then
+ check_error 'p vfs_read^%hoge'                # BAD_ADDR_SUFFIX
+ check_error 'p ^vfs_read+10%return'   # BAD_RETPROBE
+ fi
  exit 0