[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAM9d7chC4fNFj=Mc9d-4r59sEvcxt=0dBk=oiBbsAP0HxseXXg@mail.gmail.com>
Date: Tue, 22 Oct 2019 00:09:23 +0900
From: Namhyung Kim <namhyung@...nel.org>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: LKML <linux-kernel@...r.kernel.org>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Ingo Molnar <mingo@...nel.org>, Jiri Olsa <jolsa@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>,
GwanYeong Kim <gy741.kim@...il.com>
Subject: Re: [PATCH] tools lib traceevent: Fix sign variable to return signed
in eval_type_str()
Hi Steve,
On Sat, Oct 19, 2019 at 6:07 AM Steven Rostedt <rostedt@...dmis.org> wrote:
>
>
> From: "Steven Rostedt (VMware)" <rostedt@...dmis.org>
>
> Seems that the value returned by eval_type_str() were always unsigned, and
> never signed extended. Luckily, looking at all the trace events that
> actually have a signed value seldom (if ever) are negative, so this bug
> never showed its face, and if it has, nobody noticed it.
>
> Converted the sign variable to boolean while at it.
>
> Link: http://lkml.kernel.org/r/20191013134903.5f879ad1@gandalf.local.home
> Fixes: f7d82350e597d ("tools/events: Add files to create libtraceevent.a")
> Reported-by: GwanYeong Kim <gy741.kim@...il.com>
> Signed-off-by: Steven Rostedt (VMware) <rostedt@...dmis.org>
Acked-by: Namhyung Kim <namhyung@...nel.org>
Thanks
Namhyung
> ---
> tools/lib/traceevent/event-parse.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c
> index d948475585ce..2b20063813ac 100644
> --- a/tools/lib/traceevent/event-parse.c
> +++ b/tools/lib/traceevent/event-parse.c
> @@ -2217,7 +2217,7 @@ static char *arg_eval (struct tep_print_arg *arg);
> static unsigned long long
> eval_type_str(unsigned long long val, const char *type, int pointer)
> {
> - int sign = 0;
> + bool sign = true;
> char *ref;
> int len;
>
> @@ -2277,7 +2277,7 @@ eval_type_str(unsigned long long val, const char *type, int pointer)
> return (unsigned long long)(int)val & 0xffffffff;
>
> if (strncmp(type, "unsigned ", 9) == 0) {
> - sign = 0;
> + sign = false;
> type += 9;
> }
>
> --
> 2.20.1
>
Powered by blists - more mailing lists