From f58616e551ec21d98632886c141ab51299252892 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 23 Jun 2006 02:04:20 -0700 Subject: [PATCH] --- yaml --- r: 28982 b: refs/heads/master c: b88d4f1d390a6a232938d27d551f24cf08a2c7e0 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/i386/kernel/traps.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 3418906743d8..268f6f90b655 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ba528f2854e8632c8d04ddcd45f06c47bc7188b0 +refs/heads/master: b88d4f1d390a6a232938d27d551f24cf08a2c7e0 diff --git a/trunk/arch/i386/kernel/traps.c b/trunk/arch/i386/kernel/traps.c index 0e498369f35e..df9d210626ac 100644 --- a/trunk/arch/i386/kernel/traps.c +++ b/trunk/arch/i386/kernel/traps.c @@ -149,6 +149,12 @@ static inline unsigned long print_context_stack(struct thread_info *tinfo, while (valid_stack_ptr(tinfo, (void *)ebp)) { addr = *(unsigned long *)(ebp + 4); printed = print_addr_and_symbol(addr, log_lvl, printed); + /* + * break out of recursive entries (such as + * end_of_stack_stop_unwind_function): + */ + if (ebp == *(unsigned long *)ebp) + break; ebp = *(unsigned long *)ebp; } #else