aboutsummaryrefslogtreecommitdiffstats
path: root/fs/proc
diff options
context:
space:
mode:
Diffstat (limited to 'fs/proc')
-rw-r--r--fs/proc/base.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/fs/proc/base.c b/fs/proc/base.c
index 3b4fe21c7e94..0c2052c79243 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)
278 */ 278 */
279static int proc_pid_wchan(struct task_struct *task, char *buffer) 279static int proc_pid_wchan(struct task_struct *task, char *buffer)
280{ 280{
281 const char *sym_name;
282 unsigned long wchan; 281 unsigned long wchan;
283 char namebuf[KSYM_NAME_LEN+1]; 282 char symname[KSYM_NAME_LEN+1];
284 283
285 wchan = get_wchan(task); 284 wchan = get_wchan(task);
286 285
287 sym_name = kallsyms_lookup(wchan, NULL, NULL, NULL, namebuf); 286 if (lookup_symbol_name(wchan, symname) < 0)
288 if (sym_name) 287 return sprintf(buffer, "%lu", wchan);
289 return sprintf(buffer, "%s", sym_name); 288 else
290 return sprintf(buffer, "%lu", wchan); 289 return sprintf(buffer, "%s", symname);
291} 290}
292#endif /* CONFIG_KALLSYMS */ 291#endif /* CONFIG_KALLSYMS */
293 292