projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
70c819e
)
perf hist: Add missing map__put() in error case
author
Changbin Du
<
[email protected]
>
Sat, 16 Mar 2019 08:05:49 +0000
(16:05 +0800)
committer
Arnaldo Carvalho de Melo
<
[email protected]
>
Tue, 19 Mar 2019 19:52:04 +0000
(16:52 -0300)
We need to map__put() before returning from failure of
sample__resolve_callchain().
Detected with gcc's ASan.
Signed-off-by: Changbin Du <
[email protected]
>
Reviewed-by: Jiri Olsa <
[email protected]
>
Cc: Alexei Starovoitov <
[email protected]
>
Cc: Daniel Borkmann <
[email protected]
>
Cc: Krister Johansen <
[email protected]
>
Cc: Namhyung Kim <
[email protected]
>
Cc: Peter Zijlstra <
[email protected]
>
Cc: Steven Rostedt (VMware) <
[email protected]
>
Fixes: 9c68ae98c6f7 ("perf callchain: Reference count maps")
Link:
http://lkml.kernel.org/r/
[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <
[email protected]
>
tools/perf/util/hist.c
patch
|
blob
|
history
diff --git
a/tools/perf/util/hist.c
b/tools/perf/util/hist.c
index 1f230285d78aeeafbb776713b634c2ea00f60bee..7ace7a10054d82da540825ad2eb36d5a85b0a6a4 100644
(file)
--- a/
tools/perf/util/hist.c
+++ b/
tools/perf/util/hist.c
@@
-1111,8
+1111,10
@@
int hist_entry_iter__add(struct hist_entry_iter *iter, struct addr_location *al,
err = sample__resolve_callchain(iter->sample, &callchain_cursor, &iter->parent,
iter->evsel, al, max_stack_depth);
- if (err)
+ if (err) {
+ map__put(alm);
return err;
+ }
err = iter->ops->prepare_entry(iter, al);
if (err)