tracing/probes: Reject events which have the same name of existing one
authorMasami Hiramatsu <mhiramat@kernel.org>
Thu, 19 Aug 2021 10:26:02 +0000 (19:26 +0900)
committerDom Cobley <popcornmix@gmail.com>
Thu, 14 Oct 2021 11:32:57 +0000 (12:32 +0100)
commit8e0e17b8a9853db69d3220ffefd1def156bd46e8
tree2129e080889a951e30bdc1696b4a83cde7f2700b
parent84a0a44b1fc14525abfca4e172202a05a2ced7d5
tracing/probes: Reject events which have the same name of existing one

[ Upstream commit 8e242060c6a4947e8ae7d29794af6a581db08841 ]

Since kprobe_events and uprobe_events only check whether the
other same-type probe event has the same name or not, if the
user gives the same name of the existing tracepoint event (or
the other type of probe events), it silently fails to create
the tracefs entry (but registered.) as below.

/sys/kernel/tracing # ls events/task/task_rename
enable   filter   format   hist     id       trigger
/sys/kernel/tracing # echo p:task/task_rename vfs_read >> kprobe_events
[  113.048508] Could not create tracefs 'task_rename' directory
/sys/kernel/tracing # cat kprobe_events
p:task/task_rename vfs_read

To fix this issue, check whether the existing events have the
same name or not in trace_probe_register_event_call(). If exists,
it rejects to register the new event.

Link: https://lkml.kernel.org/r/162936876189.187130.17558311387542061930.stgit@devnote2
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/trace/trace_kprobe.c
kernel/trace/trace_probe.c
kernel/trace/trace_probe.h
kernel/trace/trace_uprobe.c