All of lore.kernel.org
 help / color / mirror / Atom feed
From: Numfor Mbiziwo-Tiapo <nums@google.com>
To: peterz@infradead.org, mingo@redhat.com, acme@kernel.org,
	alexander.shishkin@linux.intel.com, jolsa@redhat.com,
	namhyung@kernel.org, songliubraving@fb.com, mbd@fb.com
Cc: linux-kernel@vger.kernel.org, irogers@google.com,
	eranian@google.com, Numfor Mbiziwo-Tiapo <nums@google.com>
Subject: [PATCH 3/3] Fix sched-messaging.c use of uninitialized value errors
Date: Wed, 24 Jul 2019 16:45:00 -0700	[thread overview]
Message-ID: <20190724234500.253358-4-nums@google.com> (raw)
In-Reply-To: <20190724234500.253358-1-nums@google.com>

Our local MSAN (Memory Sanitizer) build of perf throws use of
uninitialized value warnings in "tools/perf/bench/sched-messaging.c"
when running perf bench.

The first warning comes from the "ready" function where the "dummy" char
is declared and then passed into "write" without being initialized.
Initializing "dummy" to any character silences the warning.

The second warning comes from the "sender" function where a "write" call
is made to write the contents from the "data" char array when it has not
yet been initialized. Calling memset on "data" silences the warning.

To reproduce this warning, build perf by running:
make -C tools/perf CLANG=1 CC=clang EXTRA_CFLAGS="-fsanitize=memory\
 -fsanitize-memory-track-origins"

(Additionally, llvm might have to be installed and clang might have to
be specified as the compiler - export CC=/usr/bin/clang)

then running: tools/perf/perf bench sched all

Please see the cover letter for why false positive warnings may be
generated.

Signed-off-by: Numfor Mbiziwo-Tiapo <nums@google.com>
---
 tools/perf/bench/sched-messaging.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/perf/bench/sched-messaging.c b/tools/perf/bench/sched-messaging.c
index f9d7641ae833..d22d7b7b591d 100644
--- a/tools/perf/bench/sched-messaging.c
+++ b/tools/perf/bench/sched-messaging.c
@@ -69,7 +69,7 @@ static void fdpair(int fds[2])
 /* Block until we're ready to go */
 static void ready(int ready_out, int wakefd)
 {
-	char dummy;
+	char dummy = 'N';
 	struct pollfd pollfd = { .fd = wakefd, .events = POLLIN };
 
 	/* Tell them we're ready. */
@@ -87,6 +87,7 @@ static void *sender(struct sender_context *ctx)
 	char data[DATASIZE];
 	unsigned int i, j;
 
+	memset(data, 'N', DATASIZE);
 	ready(ctx->ready_out, ctx->wakefd);
 
 	/* Now pump to every receiver. */
-- 
2.22.0.657.g960e92d24f-goog


  parent reply	other threads:[~2019-07-24 23:45 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-24 23:44 [PATCH 0/3] Perf uninitialized value fixes Numfor Mbiziwo-Tiapo
2019-07-24 23:44 ` [PATCH 1/3] Fix util.c use of unitialized value warning Numfor Mbiziwo-Tiapo
2019-07-26 19:19   ` Arnaldo Carvalho de Melo
2019-07-29 21:35   ` [tip:perf/urgent] perf header: Fix " tip-bot for Numfor Mbiziwo-Tiapo
2019-07-24 23:44 ` [PATCH 2/3] Fix annotate.c use of uninitialized value error Numfor Mbiziwo-Tiapo
2019-07-26 19:28   ` Arnaldo Carvalho de Melo
2019-07-31  0:40     ` [PATCH v2] " Numfor Mbiziwo-Tiapo
2019-07-24 23:45 ` Numfor Mbiziwo-Tiapo [this message]
2019-07-26 19:32   ` [PATCH 3/3] Fix sched-messaging.c use of uninitialized value errors Arnaldo Carvalho de Melo
2019-07-26 23:52     ` Ian Rogers
2019-08-07 20:38 ` [PATCH 0/3] Perf uninitialized value fixes Arnaldo Carvalho de Melo
2019-08-22 21:29   ` Ian Rogers

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=20190724234500.253358-4-nums@google.com \
    --to=nums@google.com \
    --cc=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=eranian@google.com \
    --cc=irogers@google.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mbd@fb.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=songliubraving@fb.com \
    /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.