All of lore.kernel.org
 help / color / mirror / Atom feed
* [for-next][PATCH 0/3] tracing: Some small updates for 4.12
@ 2017-05-05  1:36 Steven Rostedt
  2017-05-05  1:36 ` [for-next][PATCH 1/3] tracing: Use strlcpy() instead of strcpy() in __trace_find_cmdline() Steven Rostedt
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Steven Rostedt @ 2017-05-05  1:36 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton

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

Head SHA1: 77c0eddeeeee14bf0fb0c0bb97e782981bbcf084


Amey Telawane (1):
      tracing: Use strlcpy() instead of strcpy() in __trace_find_cmdline()

Dan Carpenter (1):
      ftrace: Remove an unneeded condition

Steven Rostedt (VMware) (1):
      ftrace: Simplify ftrace_match_record() even more

----
 kernel/trace/ftrace.c | 20 +++++++++-----------
 kernel/trace/trace.c  |  2 +-
 2 files changed, 10 insertions(+), 12 deletions(-)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [for-next][PATCH 1/3] tracing: Use strlcpy() instead of strcpy() in __trace_find_cmdline()
  2017-05-05  1:36 [for-next][PATCH 0/3] tracing: Some small updates for 4.12 Steven Rostedt
@ 2017-05-05  1:36 ` Steven Rostedt
  2017-05-05  1:36 ` [for-next][PATCH 2/3] ftrace: Remove an unneeded condition Steven Rostedt
  2017-05-05  1:36 ` [for-next][PATCH 3/3] ftrace: Simplify ftrace_match_record() even more Steven Rostedt
  2 siblings, 0 replies; 4+ messages in thread
From: Steven Rostedt @ 2017-05-05  1:36 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Amey Telawane, Amit Pundir

[-- Attachment #1: 0001-tracing-Use-strlcpy-instead-of-strcpy-in-__trace_fin.patch --]
[-- Type: text/plain, Size: 1323 bytes --]

From: Amey Telawane <ameyt@codeaurora.org>

Strcpy is inherently not safe, and strlcpy() should be used instead.
__trace_find_cmdline() uses strcpy() because the comms saved must have a
terminating nul character, but it doesn't hurt to add the extra protection
of using strlcpy() instead of strcpy().

Link: http://lkml.kernel.org/r/1493806274-13936-1-git-send-email-amit.pundir@linaro.org

Signed-off-by: Amey Telawane <ameyt@codeaurora.org>
[AmitP: Cherry-picked this commit from CodeAurora kernel/msm-3.10
https://source.codeaurora.org/quic/la/kernel/msm-3.10/commit/?id=2161ae9a70b12cf18ac8e5952a20161ffbccb477]
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
[ Updated change log and removed the "- 1" from len parameter ]
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 kernel/trace/trace.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 80eda7d254ed..4ad4420b33d6 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -1976,7 +1976,7 @@ static void __trace_find_cmdline(int pid, char comm[])
 
 	map = savedcmd->map_pid_to_cmdline[pid];
 	if (map != NO_CMDLINE_MAP)
-		strcpy(comm, get_saved_cmdlines(map));
+		strlcpy(comm, get_saved_cmdlines(map), TASK_COMM_LEN);
 	else
 		strcpy(comm, "<...>");
 }
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [for-next][PATCH 2/3] ftrace: Remove an unneeded condition
  2017-05-05  1:36 [for-next][PATCH 0/3] tracing: Some small updates for 4.12 Steven Rostedt
  2017-05-05  1:36 ` [for-next][PATCH 1/3] tracing: Use strlcpy() instead of strcpy() in __trace_find_cmdline() Steven Rostedt
@ 2017-05-05  1:36 ` Steven Rostedt
  2017-05-05  1:36 ` [for-next][PATCH 3/3] ftrace: Simplify ftrace_match_record() even more Steven Rostedt
  2 siblings, 0 replies; 4+ messages in thread
From: Steven Rostedt @ 2017-05-05  1:36 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Dan Carpenter

[-- Attachment #1: 0002-ftrace-Remove-an-unneeded-condition.patch --]
[-- Type: text/plain, Size: 751 bytes --]

From: Dan Carpenter <dan.carpenter@oracle.com>

We know that "mod_matches" is true here so there is no need to check
again.

Link: http://lkml.kernel.org/r/20170331152130.GA4947@mwanda

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 kernel/trace/ftrace.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 00077a57b746..84286d347cd8 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -3644,7 +3644,7 @@ ftrace_match_record(struct dyn_ftrace *rec, struct ftrace_glob *func_g,
 				return 0;
 		}
 
-		if (mod_matches && exclude_mod)
+		if (exclude_mod)
 			return 0;
 
 func_match:
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [for-next][PATCH 3/3] ftrace: Simplify ftrace_match_record() even more
  2017-05-05  1:36 [for-next][PATCH 0/3] tracing: Some small updates for 4.12 Steven Rostedt
  2017-05-05  1:36 ` [for-next][PATCH 1/3] tracing: Use strlcpy() instead of strcpy() in __trace_find_cmdline() Steven Rostedt
  2017-05-05  1:36 ` [for-next][PATCH 2/3] ftrace: Remove an unneeded condition Steven Rostedt
@ 2017-05-05  1:36 ` Steven Rostedt
  2 siblings, 0 replies; 4+ messages in thread
From: Steven Rostedt @ 2017-05-05  1:36 UTC (permalink / raw)
  To: linux-kernel; +Cc: Ingo Molnar, Andrew Morton, Dan Carpenter

[-- Attachment #1: 0003-ftrace-Simplify-ftrace_match_record-even-more.patch --]
[-- Type: text/plain, Size: 2381 bytes --]

From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

Dan Carpenter sent a patch to remove a check in ftrace_match_record()
because the logic of the code made the check redundant. I looked deeper into
the code, and made the following logic table, with the three variables and
the result of the original code.

modname        mod_matches     exclude_mod         result
-------        -----------     -----------         ------
  0                 0               0              return 0
  0                 0               1              func_match
  0                 1               *             < cannot exist >
  1                 0               0              return 0
  1                 0               1              func_match
  1                 1               0              func_match
  1                 1               1              return 0

Notice that when mod_matches == exclude mod, the result is always to
return 0, and when mod_matches != exclude_mod, then the result is to test
the function. This means we only need test if mod_matches is equal to
exclude_mod.

Cc: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 kernel/trace/ftrace.c | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 84286d347cd8..39dca4e86a94 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -3631,22 +3631,20 @@ ftrace_match_record(struct dyn_ftrace *rec, struct ftrace_glob *func_g,
 		/* blank module name to match all modules */
 		if (!mod_g->len) {
 			/* blank module globbing: modname xor exclude_mod */
-			if ((!exclude_mod) != (!modname))
+			if (!exclude_mod != !modname)
 				goto func_match;
 			return 0;
 		}
 
-		/* not matching the module */
-		if (!modname || !mod_matches) {
-			if (exclude_mod)
-				goto func_match;
-			else
-				return 0;
-		}
-
-		if (exclude_mod)
+		/*
+		 * exclude_mod is set to trace everything but the given
+		 * module. If it is set and the module matches, then
+		 * return 0. If it is not set, and the module doesn't match
+		 * also return 0. Otherwise, check the function to see if
+		 * that matches.
+		 */
+		if (!mod_matches == !exclude_mod)
 			return 0;
-
 func_match:
 		/* blank search means to match all funcs in the mod */
 		if (!func_g->len)
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-05-05  1:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-05  1:36 [for-next][PATCH 0/3] tracing: Some small updates for 4.12 Steven Rostedt
2017-05-05  1:36 ` [for-next][PATCH 1/3] tracing: Use strlcpy() instead of strcpy() in __trace_find_cmdline() Steven Rostedt
2017-05-05  1:36 ` [for-next][PATCH 2/3] ftrace: Remove an unneeded condition Steven Rostedt
2017-05-05  1:36 ` [for-next][PATCH 3/3] ftrace: Simplify ftrace_match_record() even more Steven Rostedt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.