All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nick Desaulniers <ndesaulniers@google.com>
To: Ian Rogers <irogers@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	clang-built-linux <clang-built-linux@googlegroups.com>,
	Stephane Eranian <eranian@google.com>
Subject: Re: [PATCH] perf test: Fix msan uninitialized use.
Date: Wed, 23 Sep 2020 16:37:08 -0700	[thread overview]
Message-ID: <CAKwvOd=V6QFoAmYEVNjHKuOyWG8agjzxwan2EmkuZcQjv6qJ0g@mail.gmail.com> (raw)
In-Reply-To: <20200923210655.4143682-1-irogers@google.com>

On Wed, Sep 23, 2020 at 2:07 PM 'Ian Rogers' via Clang Built Linux
<clang-built-linux@googlegroups.com> wrote:
>
> Ensure 'st' is initialized before an error branch is taken.
> Fixes test "67: Parse and process metrics" with LLVM msan:
> ==6757==WARNING: MemorySanitizer: use-of-uninitialized-value
>     #0 0x5570edae947d in rblist__exit tools/perf/util/rblist.c:114:2
>     #1 0x5570edb1c6e8 in runtime_stat__exit tools/perf/util/stat-shadow.c:141:2
>     #2 0x5570ed92cfae in __compute_metric tools/perf/tests/parse-metric.c:187:2
>     #3 0x5570ed92cb74 in compute_metric tools/perf/tests/parse-metric.c:196:9
>     #4 0x5570ed92c6d8 in test_recursion_fail tools/perf/tests/parse-metric.c:318:2
>     #5 0x5570ed92b8c8 in test__parse_metric tools/perf/tests/parse-metric.c:356:2
>     #6 0x5570ed8de8c1 in run_test tools/perf/tests/builtin-test.c:410:9
>     #7 0x5570ed8ddadf in test_and_print tools/perf/tests/builtin-test.c:440:9
>     #8 0x5570ed8dca04 in __cmd_test tools/perf/tests/builtin-test.c:661:4
>     #9 0x5570ed8dbc07 in cmd_test tools/perf/tests/builtin-test.c:807:9
>     #10 0x5570ed7326cc in run_builtin tools/perf/perf.c:313:11
>     #11 0x5570ed731639 in handle_internal_command tools/perf/perf.c:365:8
>     #12 0x5570ed7323cd in run_argv tools/perf/perf.c:409:2
>     #13 0x5570ed731076 in main tools/perf/perf.c:539:3
>
> Fixes: commit f5a56570a3f2 ("perf test: Fix memory leaks in parse-metric test")
> Signed-off-by: Ian Rogers <irogers@google.com>

Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>

Orthogonal:
The case where metricgroup__parse_groups_test() can fail in
__compute_metric() also looks curious. Should &metric_events be passed
to metricgroup__rblist_exit() in that case?

> ---
>  tools/perf/tests/parse-metric.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/tests/parse-metric.c b/tools/perf/tests/parse-metric.c
> index aea4f970fccc..7c1bde01cb50 100644
> --- a/tools/perf/tests/parse-metric.c
> +++ b/tools/perf/tests/parse-metric.c
> @@ -157,6 +157,7 @@ static int __compute_metric(const char *name, struct value *vals,
>         }
>
>         perf_evlist__set_maps(&evlist->core, cpus, NULL);
> +       runtime_stat__init(&st);
>
>         /* Parse the metric into metric_events list. */
>         err = metricgroup__parse_groups_test(evlist, &map, name,
> @@ -170,7 +171,6 @@ static int __compute_metric(const char *name, struct value *vals,
>                 goto out;
>
>         /* Load the runtime stats with given numbers for events. */
> -       runtime_stat__init(&st);
>         load_runtime_stat(&st, evlist, vals);
>
>         /* And execute the metric */
> --
> 2.28.0.681.g6f77f65b4e-goog
>
> --
> You received this message because you are subscribed to the Google Groups "Clang Built Linux" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/20200923210655.4143682-1-irogers%40google.com.



-- 
Thanks,
~Nick Desaulniers

  reply	other threads:[~2020-09-23 23:37 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-23 21:06 [PATCH] perf test: Fix msan uninitialized use Ian Rogers
2020-09-23 23:37 ` Nick Desaulniers [this message]
2020-09-24 23:12   ` Ian Rogers
2020-09-28 12:24   ` Arnaldo Carvalho de Melo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKwvOd=V6QFoAmYEVNjHKuOyWG8agjzxwan2EmkuZcQjv6qJ0g@mail.gmail.com' \
    --to=ndesaulniers@google.com \
    --cc=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=clang-built-linux@googlegroups.com \
    --cc=eranian@google.com \
    --cc=irogers@google.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.