[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20141105152130.09779ccf@gandalf.local.home>
Date: Wed, 5 Nov 2014 15:21:30 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Petr Mladek <pmladek@...e.cz>
Cc: linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Jiri Kosina <jkosina@...e.cz>,
"H. Peter Anvin" <hpa@...or.com>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [RFC][PATCH 07/12 v3] tracing: Have seq_buf use full buffer
On Wed, 5 Nov 2014 17:31:50 +0100
Petr Mladek <pmladek@...e.cz> wrote:
> > /**
> > * seq_buf_print_seq - move the contents of seq_buf into a seq_file
> > @@ -55,7 +55,7 @@ int seq_buf_vprintf(struct seq_buf *s, const char *fmt, va_list args)
> >
> > if (s->len < s->size) {
> > len = vsnprintf(s->buffer + s->len, s->size - s->len, fmt, args);
> > - if (s->len + len < s->size) {
> > + if (s->len + len <= s->size) {
>
> This is always true because we limit vsnprintf() to write (s->size -
> s->len) bytes. Similar problem is also in the other parts of this
> patch.
No, len is the length of bytes that should have been written, not the
amount that has been written.
>
> I wonder if we want this change at all. It means that we are not able to
> detect overflow in some functions. It is pity because the users
> might want to increase the buffer size and try again if the print
> was incomplete.
What do you mean we can't detect overflow? That's what
seq_buf_has_overflowed() does.
>
> I think that we need to leave the one byte for the overflow detection
> if we want to detect it properly.
I don't.
-- Steve
--
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