Re: [PATCH v2] tracing: make ftrace_print_array_seq compute buf_len

From: Dave P Martin
Date: Wed Apr 29 2015 - 11:52:58 EST


On Wed, Apr 29, 2015 at 04:18:46PM +0100, Alex Bennée wrote:
> The only caller to this function (__print_array) was getting it wrong by
> passing the array length instead of buffer length. As the element size
> was already being passed for other reasons it seems reasonable to push
> the calculation of buffer length into the function.
>
> Signed-off-by: Alex Bennée <alex.bennee@xxxxxxxxxx>

That looks better, thanks.

Reviewed-by: Dave Martin <Dave.Martin@xxxxxxx>

>
> ---
> v2:
> - more explicit commit message
> - rename len -> count to reduce ambiguity
> ---
> include/linux/ftrace_event.h | 2 +-
> kernel/trace/trace_output.c | 3 ++-
> 2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/ftrace_event.h b/include/linux/ftrace_event.h
> index c674ee8..33a66e6 100644
> --- a/include/linux/ftrace_event.h
> +++ b/include/linux/ftrace_event.h
> @@ -45,7 +45,7 @@ const char *ftrace_print_hex_seq(struct trace_seq *p,
> const unsigned char *buf, int len);
>
> const char *ftrace_print_array_seq(struct trace_seq *p,
> - const void *buf, int buf_len,
> + const void *buf, int count,
> size_t el_size);
>
> struct trace_iterator;
> diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c
> index 692bf71..25a086b 100644
> --- a/kernel/trace/trace_output.c
> +++ b/kernel/trace/trace_output.c
> @@ -178,12 +178,13 @@ ftrace_print_hex_seq(struct trace_seq *p, const unsigned char *buf, int buf_len)
> EXPORT_SYMBOL(ftrace_print_hex_seq);
>
> const char *
> -ftrace_print_array_seq(struct trace_seq *p, const void *buf, int buf_len,
> +ftrace_print_array_seq(struct trace_seq *p, const void *buf, int count,
> size_t el_size)
> {
> const char *ret = trace_seq_buffer_ptr(p);
> const char *prefix = "";
> void *ptr = (void *)buf;
> + size_t buf_len = count * el_size;
>
> trace_seq_putc(p, '{');
>
> --
> 2.3.5
>

--
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/