diff options
Diffstat (limited to 'arch/x86/kernel/traps_64.c')
-rw-r--r-- | arch/x86/kernel/traps_64.c | 25 |
1 files changed, 1 insertions, 24 deletions
diff --git a/arch/x86/kernel/traps_64.c b/arch/x86/kernel/traps_64.c index 74e992957ff6..2696a6837782 100644 --- a/arch/x86/kernel/traps_64.c +++ b/arch/x86/kernel/traps_64.c | |||
@@ -105,30 +105,7 @@ static inline void preempt_conditional_cli(struct pt_regs *regs) | |||
105 | 105 | ||
106 | void printk_address(unsigned long address, int reliable) | 106 | void printk_address(unsigned long address, int reliable) |
107 | { | 107 | { |
108 | #ifdef CONFIG_KALLSYMS | 108 | printk(" [<%016lx>] %s%pS\n", address, reliable ? "": "? ", (void *) address); |
109 | unsigned long offset = 0, symsize; | ||
110 | const char *symname; | ||
111 | char *modname; | ||
112 | char *delim = ":"; | ||
113 | char namebuf[KSYM_NAME_LEN]; | ||
114 | char reliab[4] = ""; | ||
115 | |||
116 | symname = kallsyms_lookup(address, &symsize, &offset, | ||
117 | &modname, namebuf); | ||
118 | if (!symname) { | ||
119 | printk(" [<%016lx>]\n", address); | ||
120 | return; | ||
121 | } | ||
122 | if (!reliable) | ||
123 | strcpy(reliab, "? "); | ||
124 | |||
125 | if (!modname) | ||
126 | modname = delim = ""; | ||
127 | printk(" [<%016lx>] %s%s%s%s%s+0x%lx/0x%lx\n", | ||
128 | address, reliab, delim, modname, delim, symname, offset, symsize); | ||
129 | #else | ||
130 | printk(" [<%016lx>]\n", address); | ||
131 | #endif | ||
132 | } | 109 | } |
133 | 110 | ||
134 | static unsigned long *in_exception_stack(unsigned cpu, unsigned long stack, | 111 | static unsigned long *in_exception_stack(unsigned cpu, unsigned long stack, |