diff options
Diffstat (limited to 'arch/i386/kernel/traps.c')
-rw-r--r-- | arch/i386/kernel/traps.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c index 0e498369f35e..df9d210626ac 100644 --- a/arch/i386/kernel/traps.c +++ b/arch/i386/kernel/traps.c | |||
@@ -149,6 +149,12 @@ static inline unsigned long print_context_stack(struct thread_info *tinfo, | |||
149 | while (valid_stack_ptr(tinfo, (void *)ebp)) { | 149 | while (valid_stack_ptr(tinfo, (void *)ebp)) { |
150 | addr = *(unsigned long *)(ebp + 4); | 150 | addr = *(unsigned long *)(ebp + 4); |
151 | printed = print_addr_and_symbol(addr, log_lvl, printed); | 151 | printed = print_addr_and_symbol(addr, log_lvl, printed); |
152 | /* | ||
153 | * break out of recursive entries (such as | ||
154 | * end_of_stack_stop_unwind_function): | ||
155 | */ | ||
156 | if (ebp == *(unsigned long *)ebp) | ||
157 | break; | ||
152 | ebp = *(unsigned long *)ebp; | 158 | ebp = *(unsigned long *)ebp; |
153 | } | 159 | } |
154 | #else | 160 | #else |