• Linus Torvalds's avatar
    Merge tag 'probes-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · d2a6fd45
    Linus Torvalds authored
    Pull probes updates from Masami Hiramatsu:
    
     - fprobe: Pass return address to the fprobe entry/exit callbacks so
       that the callbacks don't need to analyze pt_regs/stack to find the
       function return address.
    
     - kprobe events: cleanup usage of TPARG_FL_FENTRY and TPARG_FL_RETURN
       flags so that those are not set at once.
    
     - fprobe events:
          - Add a new fprobe events for tracing arbitrary function entry and
            exit as a trace event.
          - Add a new tracepoint events for tracing raw tracepoint as a
            trace event. This allows user to trace non user-exposed
            tracepoints.
          - Move eprobe's event parser code into probe event common file.
          - Introduce BTF (BPF type format) support to kernel probe (kprobe,
            fprobe and tracepoint probe) events so that user can specify
            traced function arguments by name. This also applies the type of
            argument when fetching the argument.
          - Introduce '$arg*' wildcard support if BTF is available. This
            expands the '$arg*' meta argument to all function argument
            automatically.
          - Check the return value types by BTF. If the function returns
            'void', '$retval' is rejected.
          - Add some selftest script for fprobe events, tracepoint events
            and BTF support.
          - Update documentation about the fprobe events.
          - Some fixes for above features, document and selftests.
    
     - selftests for ftrace (in addition to the new fprobe events):
          - Add a test case for multiple consecutive probes in a function
            which checks if ftrace based kprobe, optimized kprobe and normal
            kprobe can be defined in the same target function.
          - Add a test case for optimized probe, which checks whether kprobe
            can be optimized or not.
    
    * tag 'probes-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
      tracing/probes: Fix tracepoint event with $arg* to fetch correct argument
      Documentation: Fix typo of reference file name
      tracing/probes: Fix to return NULL and keep using current argc
      selftests/ftrace: Add new test case which checks for optimized probes
      selftests/ftrace: Add new test case which adds multiple consecutive probes in a function
      Documentation: tracing/probes: Add fprobe event tracing document
      selftests/ftrace: Add BTF arguments test cases
      selftests/ftrace: Add tracepoint probe test case
      tracing/probes: Add BTF retval type support
      tracing/probes: Add $arg* meta argument for all function args
      tracing/probes: Support function parameters if BTF is available
      tracing/probes: Move event parameter fetching code to common parser
      tracing/probes: Add tracepoint support on fprobe_events
      selftests/ftrace: Add fprobe related testcases
      tracing/probes: Add fprobe events for tracing function entry and exit.
      tracing/probes: Avoid setting TPARG_FL_FENTRY and TPARG_FL_RETURN
      fprobe: Pass return address to the handlers
    d2a6fd45
Kconfig 38 KB