This allows kdb to debug a crash with in the kms code with a
single level recursive re-entry.

Signed-off-by: Jason Wessel <[email protected]>
---
 kernel/debug/debug_core.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/kernel/debug/debug_core.c b/kernel/debug/debug_core.c
index e02c552..344e332 100644
--- a/kernel/debug/debug_core.c
+++ b/kernel/debug/debug_core.c
@@ -443,6 +443,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");
 
@@ -487,6 +491,9 @@ acquirelock:
        smp_wmb();
        atomic_set(&cpu_in_kgdb[cpu], 1);
 
+       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:
-- 
1.6.3.1.9.g95405b


------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
Kgdb-bugreport mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport

Reply via email to