Skip to content

Commit

Permalink
debug_core,kdb: Allow the debug core to process a recursive debug entry
Browse files Browse the repository at this point in the history
This allows kdb to debug a crash with in the kms code with a
single level recursive re-entry.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
  • Loading branch information
Jason Wessel committed May 21, 2010
1 parent d37d39a commit 6d90634
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions kernel/debug/debug_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -445,6 +445,10 @@ static int kgdb_reenter_check(struct kgdb_state *ks)
}

printk(KERN_CRIT "KGDB: re-enter exception: ALL breakpoints killed\n");
#ifdef CONFIG_KGDB_KDB
/* Allow kdb to debug itself one level */
return 0;
#endif
dump_stack();
panic("Recursive entry to debugger");

Expand Down Expand Up @@ -489,6 +493,9 @@ static int kgdb_cpu_enter(struct kgdb_state *ks, struct pt_regs *regs)
*/
atomic_inc(&cpu_in_kgdb[cpu]);

if (exception_level == 1)
goto cpu_master_loop;

/*
* CPU will loop if it is a slave or request to become a kgdb
* master cpu and acquire the kgdb_active lock:
Expand Down

0 comments on commit 6d90634

Please sign in to comment.