aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/dumpstack_32.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/dumpstack_32.c')
-rw-r--r--arch/x86/kernel/dumpstack_32.c27
1 files changed, 2 insertions, 25 deletions
diff --git a/arch/x86/kernel/dumpstack_32.c b/arch/x86/kernel/dumpstack_32.c
index dc9ca7ee1c47..4e67a005c7a1 100644
--- a/arch/x86/kernel/dumpstack_32.c
+++ b/arch/x86/kernel/dumpstack_32.c
@@ -23,31 +23,8 @@ static int die_counter;
23 23
24void printk_address(unsigned long address, int reliable) 24void printk_address(unsigned long address, int reliable)
25{ 25{
26#ifdef CONFIG_KALLSYMS 26 printk(" [<%p>] %s%pS\n", (void *) address,
27 unsigned long offset = 0; 27 reliable ? "" : "? ", (void *) address);
28 unsigned long symsize;
29 const char *symname;
30 char *modname;
31 char *delim = ":";
32 char namebuf[KSYM_NAME_LEN];
33 char reliab[4] = "";
34
35 symname = kallsyms_lookup(address, &symsize, &offset,
36 &modname, namebuf);
37 if (!symname) {
38 printk(" [<%08lx>]\n", address);
39 return;
40 }
41 if (!reliable)
42 strcpy(reliab, "? ");
43
44 if (!modname)
45 modname = delim = "";
46 printk(" [<%08lx>] %s%s%s%s%s+0x%lx/0x%lx\n",
47 address, reliab, delim, modname, delim, symname, offset, symsize);
48#else
49 printk(" [<%08lx>]\n", address);
50#endif
51} 28}
52 29
53static inline int valid_stack_ptr(struct thread_info *tinfo, 30static inline int valid_stack_ptr(struct thread_info *tinfo,