diff options
Diffstat (limited to 'fs/proc')
-rw-r--r-- | fs/proc/base.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/fs/proc/base.c b/fs/proc/base.c index 3b4fe21c7e9..0c2052c7924 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -278,16 +278,15 @@ static int proc_pid_auxv(struct task_struct *task, char *buffer) */ static int proc_pid_wchan(struct task_struct *task, char *buffer) { - const char *sym_name; unsigned long wchan; - char namebuf[KSYM_NAME_LEN+1]; + char symname[KSYM_NAME_LEN+1]; wchan = get_wchan(task); - sym_name = kallsyms_lookup(wchan, NULL, NULL, NULL, namebuf); - if (sym_name) - return sprintf(buffer, "%s", sym_name); - return sprintf(buffer, "%lu", wchan); + if (lookup_symbol_name(wchan, symname) < 0) + return sprintf(buffer, "%lu", wchan); + else + return sprintf(buffer, "%s", symname); } #endif /* CONFIG_KALLSYMS */ |