01 Sep, 2019

1 commit

  • Add immediate value parameter (\1234) support to
    probe events. This allows you to specify an immediate
    (or dummy) parameter instead of fetching from memory
    or register.

    This feature looks odd, but imagine when you put a probe
    on a code to trace some data. If the code is compiled into
    2 instructions and 1 instruction has a value but other has
    nothing since it is optimized out.
    In that case, you can not fold those into one event, even
    if ftrace supported multiple probes on one event.
    With this feature, you can set a dummy value like
    foo=\deadbeef instead of something like foo=%di.

    Link: http://lkml.kernel.org/r/156095690733.28024.13258186548822649469.stgit@devnote2

    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Steven Rostedt (VMware)

    Masami Hiramatsu
     

19 Jul, 2019

1 commit

  • 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
    ...

    Linus Torvalds
     

08 Jun, 2019

1 commit


26 May, 2019

1 commit

  • Support user-space dereference syntax for probe event arguments
    to dereference the data-structure or array in user-space.

    The syntax is just adding 'u' before an offset value.

    +|-u()

    e.g. +u8(%ax), +u0(+0(%si))

    For example, if you probe do_sched_setscheduler(pid, policy,
    param) and record param->sched_priority, you can add new
    probe as below;

    p do_sched_setscheduler priority=+u0($arg3)

    Note that kprobe event provides this and it doesn't change the
    dereference method automatically because we do not know whether
    the given address is in userspace or kernel on some archs.

    So as same as "ustring", this is an option for user, who has to
    carefully choose the dereference method.

    Link: http://lkml.kernel.org/r/155789872187.26965.4468456816590888687.stgit@devnote2

    Acked-by: Ingo Molnar
    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Steven Rostedt (VMware)

    Masami Hiramatsu
     

21 Feb, 2019

1 commit

  • uprobe_profile has filename and number of probe hits information for
    each uprobe event. The documentation erroneously talks about probe
    mis-hits. Update the documentation to the correct information.

    Link: http://lkml.kernel.org/r/1550557168-12345-1-git-send-email-srikar@linux.vnet.ibm.com

    Cc: Ingo Molnar
    Cc: Masami Hiramatsu
    Reported-by: KAUSTUBH RAJENDRA WELANKAR
    Signed-off-by: Srikar Dronamraju
    Signed-off-by: Steven Rostedt (VMware)

    Srikar Dronamraju
     

09 Dec, 2018

1 commit

  • Use dyn_event framework for uprobe events. This shows
    uprobe events on "dynamic_events" file.
    User can also define new uprobe events via dynamic_events.

    Link: http://lkml.kernel.org/r/154140858481.17322.9091293846515154065.stgit@devbox

    Reviewed-by: Tom Zanussi
    Tested-by: Tom Zanussi
    Signed-off-by: Masami Hiramatsu
    Signed-off-by: Steven Rostedt (VMware)

    Masami Hiramatsu
     

23 Jul, 2018

1 commit


08 Mar, 2018

1 commit