kernel-janitors.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch] tracing: off by one in __trace_array_vprintk()
@ 2014-11-26 14:06 Dan Carpenter
  2014-11-26 14:25 ` Steven Rostedt
  2014-11-26 14:27 ` Steven Rostedt
  0 siblings, 2 replies; 10+ messages in thread
From: Dan Carpenter @ 2014-11-26 14:06 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: Ingo Molnar, linux-kernel, kernel-janitors

This check says "goto out;" if we had to truncate the string.

The "tbuffer" buffer has TRACE_BUF_SIZE bytes.  The vsnprintf() function
returns the number of characters (not counting the NUL char) which would
have been printed if there were space.  If we we tried to print
TRACE_BUF_SIZE characters, the last character would have been truncated
to make space for the NUL character so we should "goto out;".

My other concern here was that a few lines later we do:

	entry->buf[len] = '\0';

I worried that maybe we were putting the NUL char past the end of the
array but I wasn't smart enough to figure out the size of entry->buf[].

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 42a822d..22af2ae 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -2161,7 +2161,7 @@ __trace_array_vprintk(struct ring_buffer *buffer,
 	}
 
 	len = vsnprintf(tbuffer, TRACE_BUF_SIZE, fmt, args);
-	if (len > TRACE_BUF_SIZE)
+	if (len >= TRACE_BUF_SIZE)
 		goto out;
 
 	local_save_flags(flags);

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

end of thread, other threads:[~2014-11-27 15:57 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-26 14:06 [patch] tracing: off by one in __trace_array_vprintk() Dan Carpenter
2014-11-26 14:25 ` Steven Rostedt
2014-11-26 14:34   ` Dan Carpenter
2014-11-26 14:27 ` Steven Rostedt
2014-11-26 14:37   ` Dan Carpenter
2014-11-26 14:43     ` Steven Rostedt
2014-11-26 15:05       ` Dan Carpenter
2014-11-26 15:22         ` Steven Rostedt
2014-11-26 15:46           ` Dan Carpenter
2014-11-27 15:57           ` [patch v2] tracing: truncated output is better than nothing Dan Carpenter

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).