diff options
author | Tom Zanussi <tom.zanussi@linux.intel.com> | 2015-12-10 12:50:46 -0600 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2016-03-08 11:19:32 -0500 |
commit | dbfeaa7abae4f105afdf8ed4f85b5879cff136ea (patch) | |
tree | d9dc6d2f9d1336bd817c6fc4a8f6af1b797a505e /kernel/trace | |
parent | c4a5923055c9e0c87dfc0387f7cda5ee2bbac3c1 (diff) | |
download | linux-stable-dbfeaa7abae4f105afdf8ed4f85b5879cff136ea.tar.gz linux-stable-dbfeaa7abae4f105afdf8ed4f85b5879cff136ea.tar.bz2 linux-stable-dbfeaa7abae4f105afdf8ed4f85b5879cff136ea.zip |
tracing: Add get_syscall_name()
Add a utility function to grab the syscall name from the syscall
metadata, given a syscall id.
Link: http://lkml.kernel.org/r/be26a8dfe3f15e16a837799f1c1e2b4d62742843.1449767187.git.tom.zanussi@linux.intel.com
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Tested-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Reviewed-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace')
-rw-r--r-- | kernel/trace/trace.h | 5 | ||||
-rw-r--r-- | kernel/trace/trace_syscalls.c | 11 |
2 files changed, 16 insertions, 0 deletions
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index c10456e72106..0044b91d5469 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h @@ -1394,8 +1394,13 @@ int perf_ftrace_event_register(struct trace_event_call *call, #ifdef CONFIG_FTRACE_SYSCALLS void init_ftrace_syscalls(void); +const char *get_syscall_name(int syscall); #else static inline void init_ftrace_syscalls(void) { } +static inline const char *get_syscall_name(int syscall) +{ + return NULL; +} #endif #ifdef CONFIG_EVENT_TRACING diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c index 0655afbea83f..50be5602217c 100644 --- a/kernel/trace/trace_syscalls.c +++ b/kernel/trace/trace_syscalls.c @@ -106,6 +106,17 @@ static struct syscall_metadata *syscall_nr_to_meta(int nr) return syscalls_metadata[nr]; } +const char *get_syscall_name(int syscall) +{ + struct syscall_metadata *entry; + + entry = syscall_nr_to_meta(syscall); + if (!entry) + return NULL; + + return entry->name; +} + static enum print_line_t print_syscall_enter(struct trace_iterator *iter, int flags, struct trace_event *event) |