summaryrefslogtreecommitdiff
path: root/tools/perf
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung.kim@lge.com>2013-03-21 16:18:44 +0900
committerArnaldo Carvalho de Melo <acme@redhat.com>2013-03-21 13:09:42 -0300
commit454f8c7d26fa7e1545df4efca5d9ba929ccef1e8 (patch)
treeac0892882d9293d62c1e0fdaee08f3b250f67a12 /tools/perf
parent62baca8aed636eb10f9274761aa1dcbfd48a7caa (diff)
downloadlinux-3.10-454f8c7d26fa7e1545df4efca5d9ba929ccef1e8.tar.gz
linux-3.10-454f8c7d26fa7e1545df4efca5d9ba929ccef1e8.tar.bz2
linux-3.10-454f8c7d26fa7e1545df4efca5d9ba929ccef1e8.zip
perf tools: Let get_tracing_file() return NULL to indicate failure.
So that it can be used by other places. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Steven Rostedt <rostedt@goodmis.org> Link: http://lkml.kernel.org/r/1363850332-25297-2-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf')
-rw-r--r--tools/perf/util/trace-event-info.c25
1 files changed, 22 insertions, 3 deletions
diff --git a/tools/perf/util/trace-event-info.c b/tools/perf/util/trace-event-info.c
index 5729f434c5b..81c673282ed 100644
--- a/tools/perf/util/trace-event-info.c
+++ b/tools/perf/util/trace-event-info.c
@@ -62,7 +62,7 @@ static const char *find_debugfs(void)
const char *path = perf_debugfs_mount(NULL);
if (!path)
- die("Your kernel not support debugfs filesystem");
+ pr_debug("Your kernel does not support the debugfs filesystem");
return path;
}
@@ -81,8 +81,12 @@ static const char *find_tracing_dir(void)
return tracing;
debugfs = find_debugfs();
+ if (!debugfs)
+ return NULL;
- tracing = malloc_or_die(strlen(debugfs) + 9);
+ tracing = malloc(strlen(debugfs) + 9);
+ if (!tracing)
+ return NULL;
sprintf(tracing, "%s/tracing", debugfs);
@@ -99,7 +103,9 @@ static char *get_tracing_file(const char *name)
if (!tracing)
return NULL;
- file = malloc_or_die(strlen(tracing) + strlen(name) + 2);
+ file = malloc(strlen(tracing) + strlen(name) + 2);
+ if (!file)
+ return NULL;
sprintf(file, "%s/%s", tracing, name);
return file;
@@ -170,6 +176,9 @@ static void read_header_files(void)
struct stat st;
path = get_tracing_file("events/header_page");
+ if (!path)
+ die("can't get tracing/events/header_page");
+
if (stat(path, &st) < 0)
die("can't read '%s'", path);
@@ -178,6 +187,9 @@ static void read_header_files(void)
put_tracing_file(path);
path = get_tracing_file("events/header_event");
+ if (!path)
+ die("can't get tracing/events/header_event");
+
if (stat(path, &st) < 0)
die("can't read '%s'", path);
@@ -251,6 +263,8 @@ static void read_ftrace_files(struct tracepoint_path *tps)
char *path;
path = get_tracing_file("events/ftrace");
+ if (!path)
+ die("can't get tracing/events/ftrace");
copy_event_system(path, tps);
@@ -279,6 +293,8 @@ static void read_event_files(struct tracepoint_path *tps)
int ret;
path = get_tracing_file("events");
+ if (!path)
+ die("can't get tracing/events");
dir = opendir(path);
if (!dir)
@@ -343,6 +359,9 @@ static void read_ftrace_printk(void)
int ret;
path = get_tracing_file("printk_formats");
+ if (!path)
+ die("can't get tracing/printk_formats");
+
ret = stat(path, &st);
if (ret < 0) {
/* not found */