Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1452047

Re: [PATCH 13/15] perf script python: Fix string vs byte array resolving

From Steven Rostedt <rostedt@goodmis.org>
Newsgroups linux.kernel
Subject Re: [PATCH 13/15] perf script python: Fix string vs byte array resolving
Date 2016-07-28 20:50 +0200
Message-ID <rZYxA-1DB-7@gated-at.bofh.it> (permalink)
References <rWqiJ-4rm-5@gated-at.bofh.it> <rWqiJ-4rm-21@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Mon, 18 Jul 2016 20:33:16 -0300
Arnaldo Carvalho de Melo <acme@kernel.org> wrote:

> From: Jiri Olsa <jolsa@kernel.org>
> 
> Jirka reported that python code returns all arrays as strings.  This
> makes impossible to get all items for byte array tracepoint field
> containing 0x00 value item.
> 
> Fixing this by scanning full length of the array and returning it as
> PyByteArray object in case non printable byte is found.
> 
> Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> Reported-and-Tested-by: Jiri Pirko <jiri@mellanox.com>
> Cc: David Ahern <dsahern@gmail.com>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Cc: Steven Rostedt <rostedt@goodmis.org>
> Link: http://lkml.kernel.org/r/1468685480-18951-2-git-send-email-jolsa@kernel.org
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> ---
>  .../util/scripting-engines/trace-event-python.c    | 39 ++++++++++++++++++----
>  1 file changed, 33 insertions(+), 6 deletions(-)
> 
> diff --git a/tools/perf/util/scripting-engines/trace-event-python.c b/tools/perf/util/scripting-engines/trace-event-python.c
> index 6ac6b7a33f42..7bd6da80533e 100644
> --- a/tools/perf/util/scripting-engines/trace-event-python.c
> +++ b/tools/perf/util/scripting-engines/trace-event-python.c
> @@ -386,6 +386,21 @@ exit:
>  	return pylist;
>  }
>  
> +static int is_printable_array(char *p, unsigned int len)
> +{
> +	unsigned int i;
> +
> +	if (!p || !len || p[len - 1] != 0)
> +		return 0;
> +
> +	len--;
> +
> +	for (i = 0; i < len; i++) {
> +		if (!isprint(p[i]) && !isspace(p[i]))
> +			return 0;
> +	}
> +	return 1;
> +}
>  

Darn, I never got to add my Reviewed-by tag, as I had lots of comments
on this function. Oh well, that's what happens when you go off to
volcanoes.

-- Steve

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

Re: [PATCH 13/15] perf script python: Fix string vs byte array  resolving Steven Rostedt <rostedt@goodmis.org> - 2016-07-28 20:50 +0200

csiph-web