Re: [PATCH 2/4] tracing: fix trace_seq_printf return value

From: Steven Rostedt
Date: Wed Oct 21 2009 - 12:20:40 EST


On Wed, 2009-10-21 at 16:36 +0200, Jiri Olsa wrote:
> I believe we want to return the number of written characters,
> instead of the available buffer length.
>
> wbr,
> jirka
>
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> ---
> kernel/trace/trace_output.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
> index ed17565..e871125 100644
> --- a/kernel/trace/trace_output.c
> +++ b/kernel/trace/trace_output.c
> @@ -95,7 +95,7 @@ trace_seq_printf(struct trace_seq *s, const char *fmt, ...)
>
> s->len += ret;
>
> - return len;
> + return ret;

Actually the return value here is ambiguous. Returning len is actually
safer. It probably should only return 0 (buffer not big enough to write
to) or 1 (buffer is big enough).

Because this should actually return non zero:

trace_seq_printf(s, "");

-- Steve

> }
> EXPORT_SYMBOL_GPL(trace_seq_printf);
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/