tracing: Fix incorrect enabling of trace events by boot cmdline
authorJoonsoo Kim <iamjoonsoo.kim@lge.com>
Thu, 16 Apr 2015 04:44:44 +0000 (13:44 +0900)
committerSteven Rostedt <rostedt@goodmis.org>
Thu, 16 Apr 2015 13:44:07 +0000 (09:44 -0400)
commit84fce9db4d7eaebd6cb2ee30c15da6d4e4daf846
treec9ce1c9a9cc1c35cd0d27ec02e80a973941b0673
parentef99b88b16bee753fa51207abdc58ae660453ec6
tracing: Fix incorrect enabling of trace events by boot cmdline

There is a problem that trace events are not properly enabled with
boot cmdline. The problem is that if we pass "trace_event=kmem:mm_page_alloc"
to the boot cmdline, it enables all kmem trace events, and not just
the page_alloc event.

This is caused by the parsing mechanism. When we parse the cmdline, the buffer
contents is modified due to tokenization. And, if we use this buffer
again, we will get the wrong result.

Unfortunately, this buffer is be accessed three times to set trace events
properly at boot time. So, we need to handle this situation.

There is already code handling ",", but we need another for ":".
This patch adds it.

Link: http://lkml.kernel.org/r/1429159484-22977-1-git-send-email-iamjoonsoo.kim@lge.com
Cc: stable@vger.kernel.org # 3.19+
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
[ added missing return ret; ]
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/trace_events.c