[PATCH 0/3] Perf uninitialized value fixes

From: Numfor Mbiziwo-Tiapo
Date: Wed Jul 24 2019 - 19:45:06 EST


These patches are all warnings that the MSAN (Memory Sanitizer) build
of perf has caught.

To build perf with MSAN enabled run:
make -C tools/perf CLANG=1 CC=clang EXTRA_CFLAGS="-fsanitize=memory\
-fsanitize-memory-track-origins"

(The -fsanitizer-memory-track-origins makes the bugs clearer but
isn't strictly necessary.)

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

The patches "Fix util.c use of uninitialized value warning" and "Fix
annotate.c use of uninitialized value error" build on top of each other
(the changes in Fix util.c use of uninitialized value warning must be
made first).

When running the commands provided in the repro instructions, MSAN will
generate false positive uninitialized memory errors. This is happening
because libc is not MSAN-instrumented. Finding a way to build libc with
MSAN will get rid of these false positives and allow the real warnings
mentioned in the patches to be shown.

Numfor Mbiziwo-Tiapo (3):
Fix util.c use of uninitialized value warning
Fix annotate.c use of uninitialized value error
Fix sched-messaging.c use of uninitialized value errors

tools/perf/bench/sched-messaging.c | 3 ++-
tools/perf/util/annotate.c | 15 +++++++++++----
tools/perf/util/header.c | 2 +-
3 files changed, 14 insertions(+), 6 deletions(-)

--
2.22.0.657.g960e92d24f-goog