lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20150416173611.2bf9b562@gandalf.local.home>
Date:	Thu, 16 Apr 2015 17:36:11 -0400
From:	Steven Rostedt <rostedt@...dmis.org>
To:	LKML <linux-kernel@...r.kernel.org>
Cc:	Ingo Molnar <mingo@...nel.org>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Joonsoo Kim <iamjoonsoo.kim@....com>
Subject: [for-next][PATCH] tracing: Fix incorrect enabling of trace events
 by boot cmdline

Another small fix that I'll push in this merge window.

  git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
for-next

Head SHA1: 84fce9db4d7eaebd6cb2ee30c15da6d4e4daf846


Joonsoo Kim (1):
      tracing: Fix incorrect enabling of trace events by boot cmdline

----
 kernel/trace/trace_events.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
---------------------------
commit 84fce9db4d7eaebd6cb2ee30c15da6d4e4daf846
Author: Joonsoo Kim <iamjoonsoo.kim@....com>
Date:   Thu Apr 16 13:44:44 2015 +0900

    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@...r.kernel.org # 3.19+
    Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@....com>
    [ added missing return ret; ]
    Signed-off-by: Steven Rostedt <rostedt@...dmis.org>

diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index a576bbe75577..36a957c996c7 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -565,6 +565,7 @@ static int __ftrace_set_clr_event(struct trace_array *tr, const char *match,
 static int ftrace_set_clr_event(struct trace_array *tr, char *buf, int set)
 {
 	char *event = NULL, *sub = NULL, *match;
+	int ret;
 
 	/*
 	 * The buf format can be <subsystem>:<event-name>
@@ -590,7 +591,13 @@ static int ftrace_set_clr_event(struct trace_array *tr, char *buf, int set)
 			event = NULL;
 	}
 
-	return __ftrace_set_clr_event(tr, match, sub, event, set);
+	ret = __ftrace_set_clr_event(tr, match, sub, event, set);
+
+	/* Put back the colon to allow this to be called again */
+	if (buf)
+		*(buf - 1) = ':';
+
+	return ret;
 }
 
 /**
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ