diff options
Diffstat (limited to 'arch/x86/kernel/traps_32.c')
-rw-r--r-- | arch/x86/kernel/traps_32.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/x86/kernel/traps_32.c b/arch/x86/kernel/traps_32.c index acc9af260fac..8ef8a9ddfec6 100644 --- a/arch/x86/kernel/traps_32.c +++ b/arch/x86/kernel/traps_32.c | |||
@@ -126,7 +126,7 @@ static inline unsigned long print_context_stack(struct thread_info *tinfo, | |||
126 | 126 | ||
127 | addr = frame->return_address; | 127 | addr = frame->return_address; |
128 | if (__kernel_text_address(addr)) | 128 | if (__kernel_text_address(addr)) |
129 | ops->address(data, addr); | 129 | ops->address(data, addr, 1); |
130 | /* | 130 | /* |
131 | * break out of recursive entries (such as | 131 | * break out of recursive entries (such as |
132 | * end_of_stack_stop_unwind_function). Also, | 132 | * end_of_stack_stop_unwind_function). Also, |
@@ -145,7 +145,7 @@ static inline unsigned long print_context_stack(struct thread_info *tinfo, | |||
145 | 145 | ||
146 | addr = *stack++; | 146 | addr = *stack++; |
147 | if (__kernel_text_address(addr)) | 147 | if (__kernel_text_address(addr)) |
148 | ops->address(data, addr); | 148 | ops->address(data, addr, 1); |
149 | } | 149 | } |
150 | #endif | 150 | #endif |
151 | return bp; | 151 | return bp; |
@@ -220,9 +220,11 @@ static int print_trace_stack(void *data, char *name) | |||
220 | /* | 220 | /* |
221 | * Print one address/symbol entries per line. | 221 | * Print one address/symbol entries per line. |
222 | */ | 222 | */ |
223 | static void print_trace_address(void *data, unsigned long addr) | 223 | static void print_trace_address(void *data, unsigned long addr, int reliable) |
224 | { | 224 | { |
225 | printk("%s [<%08lx>] ", (char *)data, addr); | 225 | printk("%s [<%08lx>] ", (char *)data, addr); |
226 | if (!reliable) | ||
227 | printk("? "); | ||
226 | print_symbol("%s\n", addr); | 228 | print_symbol("%s\n", addr); |
227 | touch_nmi_watchdog(); | 229 | touch_nmi_watchdog(); |
228 | } | 230 | } |