Commit 50d88758 authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Ingo Molnar

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: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: Steven Rostedt <srostedt@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <new-submission>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 2c7eea4c
...@@ -787,12 +787,11 @@ void trace_find_cmdline(int pid, char comm[]) ...@@ -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]); strcpy(comm, saved_cmdlines[map]);
else
strcpy(comm, "<...>");
out:
__raw_spin_unlock(&trace_cmdline_lock); __raw_spin_unlock(&trace_cmdline_lock);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment