tracing: fix trace_find_cmdline()
Impact: prevent stale command line output In case there is no valid command line mapping for a pid trace_find_cmdline() returns without updating the comm buffer. The trace dump keeps the previous entry which results in confusing trace output: <idle>-0 [000] 280.702056 .... <idle>-23456 [000] 280.702080 .... Update the comm buffer with "<...>" when no mapping is found. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Steven Rostedt <srostedt@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
committed by
Ingo Molnar
parent
2c7eea4c62
commit
50d88758a3
@@ -787,12 +787,11 @@ void trace_find_cmdline(int pid, char comm[])
|
|||||||
|
|
||||||
__raw_spin_lock(&trace_cmdline_lock);
|
__raw_spin_lock(&trace_cmdline_lock);
|
||||||
map = map_pid_to_cmdline[pid];
|
map = map_pid_to_cmdline[pid];
|
||||||
if (map == NO_CMDLINE_MAP)
|
if (map != NO_CMDLINE_MAP)
|
||||||
goto out;
|
strcpy(comm, saved_cmdlines[map]);
|
||||||
|
else
|
||||||
|
strcpy(comm, "<...>");
|
||||||
|
|
||||||
strcpy(comm, saved_cmdlines[map]);
|
|
||||||
|
|
||||||
out:
|
|
||||||
__raw_spin_unlock(&trace_cmdline_lock);
|
__raw_spin_unlock(&trace_cmdline_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user