OSDN Git Service

tracing/eprobes: Have event probes be consistent with kprobes and uprobes
authorSteven Rostedt (Google) <rostedt@goodmis.org>
Sat, 20 Aug 2022 13:43:20 +0000 (09:43 -0400)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Sun, 21 Aug 2022 19:56:08 +0000 (15:56 -0400)
commit6a832ec3d680b3a4f4fad5752672827d71bae501
tree69de4034690e7ecb49dc7e767caf19b5028123cb
parentf04dec93466a0481763f3b56cdadf8076e28bfbf
tracing/eprobes: Have event probes be consistent with kprobes and uprobes

Currently, if a symbol "@" is attempted to be used with an event probe
(eprobes), it will cause a NULL pointer dereference crash.

Both kprobes and uprobes can reference data other than the main registers.
Such as immediate address, symbols and the current task name. Have eprobes
do the same thing.

For "comm", if "comm" is used and the event being attached to does not
have the "comm" field, then make it the "$comm" that kprobes has. This is
consistent to the way histograms and filters work.

Link: https://lkml.kernel.org/r/20220820134401.136924220@goodmis.org
Cc: stable@vger.kernel.org
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
Cc: Tom Zanussi <zanussi@kernel.org>
Fixes: 7491e2c44278 ("tracing: Add a probe that attaches to trace events")
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
kernel/trace/trace_eprobe.c