diff options
Diffstat (limited to 'arch/x86/kernel/dumpstack.c')
| -rw-r--r-- | arch/x86/kernel/dumpstack.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c index 32e5699eadfe..8efa57a5f29e 100644 --- a/arch/x86/kernel/dumpstack.c +++ b/arch/x86/kernel/dumpstack.c | |||
| @@ -135,7 +135,8 @@ print_context_stack_bp(struct thread_info *tinfo, | |||
| 135 | if (!__kernel_text_address(addr)) | 135 | if (!__kernel_text_address(addr)) |
| 136 | break; | 136 | break; |
| 137 | 137 | ||
| 138 | ops->address(data, addr, 1); | 138 | if (ops->address(data, addr, 1)) |
| 139 | break; | ||
| 139 | frame = frame->next_frame; | 140 | frame = frame->next_frame; |
| 140 | ret_addr = &frame->return_address; | 141 | ret_addr = &frame->return_address; |
| 141 | print_ftrace_graph_addr(addr, data, ops, tinfo, graph); | 142 | print_ftrace_graph_addr(addr, data, ops, tinfo, graph); |
| @@ -154,10 +155,11 @@ static int print_trace_stack(void *data, char *name) | |||
| 154 | /* | 155 | /* |
| 155 | * Print one address/symbol entries per line. | 156 | * Print one address/symbol entries per line. |
| 156 | */ | 157 | */ |
| 157 | static void print_trace_address(void *data, unsigned long addr, int reliable) | 158 | static int print_trace_address(void *data, unsigned long addr, int reliable) |
| 158 | { | 159 | { |
| 159 | touch_nmi_watchdog(); | 160 | touch_nmi_watchdog(); |
| 160 | printk_stack_address(addr, reliable, data); | 161 | printk_stack_address(addr, reliable, data); |
| 162 | return 0; | ||
| 161 | } | 163 | } |
| 162 | 164 | ||
| 163 | static const struct stacktrace_ops print_trace_ops = { | 165 | static const struct stacktrace_ops print_trace_ops = { |
