[PATCH 2/9] perf tools: Add extra integrity checks to fmt_free

From: Jiri Olsa
Date: Fri Oct 13 2017 - 04:40:22 EST


Make sure the struct perf_hpp_fmt is properly
unhooked before we free it.

Link: http://lkml.kernel.org/n/tip-8umo89ntt3kawmfwsivav43t@xxxxxxxxxxxxxx
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
---
tools/perf/ui/hist.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/tools/perf/ui/hist.c b/tools/perf/ui/hist.c
index 6ee6b36bbc76..db79017a6e56 100644
--- a/tools/perf/ui/hist.c
+++ b/tools/perf/ui/hist.c
@@ -606,6 +606,13 @@ void perf_hpp__append_sort_keys(struct perf_hpp_list *list)

static void fmt_free(struct perf_hpp_fmt *fmt)
{
+ /*
+ * At this point fmt should be completely
+ * unhooked, if not it's a bug.
+ */
+ BUG_ON(!list_empty(&fmt->list));
+ BUG_ON(!list_empty(&fmt->sort_list));
+
if (fmt->free)
fmt->free(fmt);
}
--
2.13.6