Skip to contentSkip to conversation

tools lib traceevent: Fix %pM print format arg handling

tip:perf/core tip-bot for Steven Rostedt 1 participant 1 message Jul 6, 2012

lore
Share & tools
lore
#0 lore raw
Commit-ID:  aaf05c725bed1c7a8c940d9215662c78bea05dfd
Gitweb:     http://git.kernel.org/tip/aaf05c725bed1c7a8c940d9215662c78bea05dfd
Author:     Steven Rostedt <[email protected]>
AuthorDate: Mon, 9 Jan 2012 15:58:09 -0500
Committer:  Namhyung Kim <[email protected]>
CommitDate: Wed, 4 Jul 2012 13:40:30 +0900

tools lib traceevent: Fix %pM print format arg handling

When %pM is used, the arg value must be a 6 byte character that will be printed as a 6 byte MAC address. But the code does a break over the main code which updates the current processing arg to point to the next arg. If there are other print arguments after a %pM, they will be off by one. The next arg will still be processing the %pM arg.

---
 tools/lib/traceevent/event-parse.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
tools/lib/traceevent/event-parse.c +1 -0
index 872dd35..da06c33 100644
@@ -3858,6 +3858,7 @@ static void pretty_print(struct trace_seq *s, void *data, int size, struct event
 				} else if (*(ptr+1) == 'M' || *(ptr+1) == 'm') {
 					print_mac_arg(s, *(ptr+1), data, size, event, arg);
 					ptr++;
+					arg = arg->next;
 					break;
 				}