linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] tracing: memcpy->strncpy changes for comm strings
@ 2019-03-05 16:11 Tom Zanussi
  2019-03-05 16:11 ` [PATCH 1/2] tracing: Use strncpy instead of memcpy when copying comm for hist triggers Tom Zanussi
  2019-03-05 16:12 ` [PATCH 2/2] tracing: Use strncpy instead of memcpy when copying comm in trace.c Tom Zanussi
  0 siblings, 2 replies; 3+ messages in thread
From: Tom Zanussi @ 2019-03-05 16:11 UTC (permalink / raw)
  To: rostedt; +Cc: linux-kernel

From: Tom Zanussi <tom.zanussi@linux.intel.com>

Hi Steve,

Here are a couple patches as discussed, replacing memcpy with strncpy
for comm strings in trace.c and trace_events_hist.c.

Thanks,

Tom

The following changes since commit 9f0bbf3115ca9f91f43b7c74e9ac7d79f47fc6c2:

  tracing: Use strncpy instead of memcpy for string keys in hist triggers (2019-03-05 08:47:46 -0500)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/zanussi/linux-trace.git ftrace/comm-strncpy

Tom Zanussi (2):
  tracing: Use strncpy instead of memcpy when copying comm for hist
    triggers
  tracing: Use strncpy instead of memcpy when copying comm in trace.c

 kernel/trace/trace.c             | 4 ++--
 kernel/trace/trace_events_hist.c | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

-- 
2.14.1


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

* [PATCH 1/2] tracing: Use strncpy instead of memcpy when copying comm for hist triggers
  2019-03-05 16:11 [PATCH 0/2] tracing: memcpy->strncpy changes for comm strings Tom Zanussi
@ 2019-03-05 16:11 ` Tom Zanussi
  2019-03-05 16:12 ` [PATCH 2/2] tracing: Use strncpy instead of memcpy when copying comm in trace.c Tom Zanussi
  1 sibling, 0 replies; 3+ messages in thread
From: Tom Zanussi @ 2019-03-05 16:11 UTC (permalink / raw)
  To: rostedt; +Cc: linux-kernel

From: Tom Zanussi <tom.zanussi@linux.intel.com>

Because there may be random garbage beyond a string's null terminator,
code that might use the entire comm array e.g. histogram keys, can
give unexpected results if that garbage is copied in too, so avoid
that possibility by using strncpy instead of memcpy.

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
---
 kernel/trace/trace_events_hist.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_hist.c
index c7774fa119a7..ca46339f3009 100644
--- a/kernel/trace/trace_events_hist.c
+++ b/kernel/trace/trace_events_hist.c
@@ -2141,7 +2141,7 @@ static inline void save_comm(char *comm, struct task_struct *task)
 		return;
 	}
 
-	memcpy(comm, task->comm, TASK_COMM_LEN);
+	strncpy(comm, task->comm, TASK_COMM_LEN);
 }
 
 static void hist_elt_data_free(struct hist_elt_data *elt_data)
@@ -3557,7 +3557,7 @@ static bool cond_snapshot_update(struct trace_array *tr, void *cond_data)
 	elt_data = context->elt->private_data;
 	track_elt_data = track_data->elt.private_data;
 	if (elt_data->comm)
-		memcpy(track_elt_data->comm, elt_data->comm, TASK_COMM_LEN);
+		strncpy(track_elt_data->comm, elt_data->comm, TASK_COMM_LEN);
 
 	track_data->updated = true;
 
-- 
2.14.1


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

* [PATCH 2/2] tracing: Use strncpy instead of memcpy when copying comm in trace.c
  2019-03-05 16:11 [PATCH 0/2] tracing: memcpy->strncpy changes for comm strings Tom Zanussi
  2019-03-05 16:11 ` [PATCH 1/2] tracing: Use strncpy instead of memcpy when copying comm for hist triggers Tom Zanussi
@ 2019-03-05 16:12 ` Tom Zanussi
  1 sibling, 0 replies; 3+ messages in thread
From: Tom Zanussi @ 2019-03-05 16:12 UTC (permalink / raw)
  To: rostedt; +Cc: linux-kernel

From: Tom Zanussi <tom.zanussi@linux.intel.com>

Because there may be random garbage beyond a string's null terminator,
code that might use the entire comm array e.g. histogram keys, can
give unexpected results if that garbage is copied in too, so avoid
that possibility by using strncpy instead of memcpy.

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Suggested-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 kernel/trace/trace.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 3835f7ed3293..e9cc47e59d25 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -1497,7 +1497,7 @@ __update_max_tr(struct trace_array *tr, struct task_struct *tsk, int cpu)
 	max_data->critical_start = data->critical_start;
 	max_data->critical_end = data->critical_end;
 
-	memcpy(max_data->comm, tsk->comm, TASK_COMM_LEN);
+	strncpy(max_data->comm, tsk->comm, TASK_COMM_LEN);
 	max_data->pid = tsk->pid;
 	/*
 	 * If tsk == current, then use current_uid(), as that does not use
@@ -1923,7 +1923,7 @@ static inline char *get_saved_cmdlines(int idx)
 
 static inline void set_cmdline(int idx, const char *cmdline)
 {
-	memcpy(get_saved_cmdlines(idx), cmdline, TASK_COMM_LEN);
+	strncpy(get_saved_cmdlines(idx), cmdline, TASK_COMM_LEN);
 }
 
 static int allocate_cmdlines_buffer(unsigned int val,
-- 
2.14.1


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

end of thread, other threads:[~2019-03-05 16:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-05 16:11 [PATCH 0/2] tracing: memcpy->strncpy changes for comm strings Tom Zanussi
2019-03-05 16:11 ` [PATCH 1/2] tracing: Use strncpy instead of memcpy when copying comm for hist triggers Tom Zanussi
2019-03-05 16:12 ` [PATCH 2/2] tracing: Use strncpy instead of memcpy when copying comm in trace.c Tom Zanussi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).