tracing: Fix to avoid creating trace instances with duplicate names

Since commit e645535a95 ("tracing: Add option to use memmapped
memory for trace boot instance") changed trace_array_get_by_name() to
trace_array_create_systems(), enable_instances() does not reuse the
same name instance. Therefore, if an administrator mistakenly specifies
multiple `trace_instance=` options with duplicate names, all are
created but only the first is accessible via tracefs.

Check whether an instance with the same name already exists before
creating a new one, and reject duplicates with a warning.

Link: https://patch.msgid.link/178847790399.283263.5313150997200138426.stgit@devnote2
Fixes: e645535a95 ("tracing: Add option to use memmapped memory for trace boot instance")
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
Masami Hiramatsu (Google) 2026-09-04 08:25:04 +09:00 committed by Steven Rostedt
parent 6c001a62c3
commit d7dbdd2ee0

View File

@ -9710,6 +9710,11 @@ __init static void enable_instances(void)
if (flag_delim)
*flag_delim++ = '\0';
if (trace_array_find(name)) {
pr_warn("Tracing: Instance %s already exists\n", name);
continue;
}
if (backup) {
if (backup_instance_area(backup, &addr, &size) < 0)
continue;