On Sat, Mar 16, 2019 at 04:05:40PM +0800, Changbin Du wrote: > AddressSanitizer (or ASan) and UndefinedBehaviorSanitizer (or UBSan) are > very useful tools to detect program bugs. This series fixed some issues > disclosed by ASan. > > AddressSanitizer (or ASan) is a GCC feature that detects memory corruption bugs > such as buffer overflows or memory leaks. > $ cd tools/perf > $ make DEBUG=1 EXTRA_CFLAGS='-fno-omit-frame-pointer -fsanitize=address' > $ ASAN_OPTIONS=log_path=asan.log ./perf record -a > ASan outputs all detected issues into log file 'asan.log.<pid>'. > > Note that this only fixes parts of the detected issues. There are many remaining > to be fixed[1]. > > [1] http://104.238.181.70:8080/asan.log.32555.txt > > Changbin Du (16): > perf: add doc for how to build perf with Asan and UBSan > perf: list: fix memory leak in function is_event_supported > perf: fix errors under optimization level '-Og' > perf: fix an error in config template > perf: fix a memory leak in collect_config > perf: fix memory leak in print_sdt_events() > perf: top: fix heap-use-after-free issue > perf: top: fix error handing in cmd_top() > perf: missed a map__put() in error case > perf: remove map from names tree in __maps__remove > perf: purge all maps from the names tree > perf: top: fix global-buffer-overflow issue > perf: free all counts in perf_evsel__exit > perf: fix a memory leak of cpu_map object > perf: fix memory leak by expr__find_other > perf: fix a memory leak in test__perf_evsel__tp_sched_test awesome.. thanks a lot Reviewed-by: Jiri Olsa <jolsa@xxxxxxxxxx> jirka > > tools/lib/bpf/libbpf.c | 2 +- > tools/perf/Documentation/Build.txt | 20 +++++++++ > tools/perf/Documentation/perf-config.txt | 2 +- > tools/perf/bench/epoll-ctl.c | 2 +- > tools/perf/bench/epoll-wait.c | 2 +- > tools/perf/builtin-top.c | 47 ++++++++++------------ > tools/perf/tests/backward-ring-buffer.c | 2 +- > tools/perf/tests/evsel-tp-sched.c | 1 + > tools/perf/tests/expr.c | 5 ++- > tools/perf/tests/openat-syscall-all-cpus.c | 4 +- > tools/perf/util/build-id.c | 1 + > tools/perf/util/config.c | 3 +- > tools/perf/util/counts.c | 18 +++++++++ > tools/perf/util/counts.h | 4 ++ > tools/perf/util/evsel.c | 2 + > tools/perf/util/hist.c | 4 +- > tools/perf/util/map.c | 18 +++++++++ > tools/perf/util/ordered-events.c | 2 + > tools/perf/util/parse-events.c | 2 + > tools/perf/util/stat.c | 18 --------- > 20 files changed, 106 insertions(+), 53 deletions(-) > > -- > 2.19.1 >