summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTaeung Song <treeze.taeung@gmail.com>2015-06-30 08:15:21 (GMT)
committerArnaldo Carvalho de Melo <acme@redhat.com>2015-07-01 20:53:49 (GMT)
commit249ca1a86067e6a4198f7b2b7e19b505e2f41864 (patch)
tree7875a954c4336a1d61c120422f19fd50075fbc6f
parent9fedfb0c5b05ae6c315de722a0548bb1f1328bf5 (diff)
downloadlinux-249ca1a86067e6a4198f7b2b7e19b505e2f41864.tar.xz
perf kmem: Fill in the missing session freeing after an error occurs
When an error occurs an error value is just returned without freeing the session. So allocating and freeing session have to be matched as a pair even if an error occurs. Signed-off-by: Taeung Song <treeze.taeung@gmail.com> Acked-by: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Link: http://lkml.kernel.org/r/1435652124-22414-3-git-send-email-treeze.taeung@gmail.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r--tools/perf/builtin-kmem.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/perf/builtin-kmem.c b/tools/perf/builtin-kmem.c
index 950f296..23b1faa 100644
--- a/tools/perf/builtin-kmem.c
+++ b/tools/perf/builtin-kmem.c
@@ -1916,7 +1916,7 @@ int cmd_kmem(int argc, const char **argv, const char *prefix __maybe_unused)
if (!perf_evlist__find_tracepoint_by_name(session->evlist,
"kmem:kmalloc")) {
pr_err(errmsg, "slab", "slab");
- return -1;
+ goto out_delete;
}
}
@@ -1927,7 +1927,7 @@ int cmd_kmem(int argc, const char **argv, const char *prefix __maybe_unused)
"kmem:mm_page_alloc");
if (evsel == NULL) {
pr_err(errmsg, "page", "page");
- return -1;
+ goto out_delete;
}
kmem_page_size = pevent_get_page_size(evsel->tp_format->pevent);