svn commit: r332730 - in head/sys: amd64/amd64 i386/i386 powerpc/powerpc

Andriy Gapon avg at FreeBSD.org
Wed Apr 18 15:44:55 UTC 2018


Author: avg
Date: Wed Apr 18 15:44:54 2018
New Revision: 332730
URL: https://svnweb.freebsd.org/changeset/base/332730

Log:
  don't check for kdb reentry in trap_fatal(), it's impossible
  
  trap() checks for it earlier and calls kdb_reentry().
  
  Discussed with:	jhb
  MFC after:	12 days
  Sponsored by:	Panzura

Modified:
  head/sys/amd64/amd64/trap.c
  head/sys/i386/i386/trap.c
  head/sys/powerpc/powerpc/trap.c

Modified: head/sys/amd64/amd64/trap.c
==============================================================================
--- head/sys/amd64/amd64/trap.c	Wed Apr 18 15:34:18 2018	(r332729)
+++ head/sys/amd64/amd64/trap.c	Wed Apr 18 15:44:54 2018	(r332730)
@@ -811,7 +811,7 @@ trap_fatal(frame, eva)
 	    curproc->p_pid, curthread->td_name);
 
 #ifdef KDB
-	if (debugger_on_panic || kdb_active)
+	if (debugger_on_panic)
 		if (kdb_trap(type, 0, frame))
 			return;
 #endif

Modified: head/sys/i386/i386/trap.c
==============================================================================
--- head/sys/i386/i386/trap.c	Wed Apr 18 15:34:18 2018	(r332729)
+++ head/sys/i386/i386/trap.c	Wed Apr 18 15:44:54 2018	(r332730)
@@ -937,7 +937,7 @@ trap_fatal(frame, eva)
 	    curproc->p_pid, curthread->td_name);
 
 #ifdef KDB
-	if (debugger_on_panic || kdb_active) {
+	if (debugger_on_panic) {
 		frame->tf_err = eva;	/* smuggle fault address to ddb */
 		if (kdb_trap(type, 0, frame)) {
 			frame->tf_err = code;	/* restore error code */

Modified: head/sys/powerpc/powerpc/trap.c
==============================================================================
--- head/sys/powerpc/powerpc/trap.c	Wed Apr 18 15:34:18 2018	(r332729)
+++ head/sys/powerpc/powerpc/trap.c	Wed Apr 18 15:44:54 2018	(r332730)
@@ -452,8 +452,7 @@ trap_fatal(struct trapframe *frame)
 
 	printtrap(frame->exc, frame, 1, (frame->srr1 & PSL_PR));
 #ifdef KDB
-	if ((debugger_on_panic || kdb_active) &&
-	    kdb_trap(frame->exc, 0, frame))
+	if (debugger_on_panic && kdb_trap(frame->exc, 0, frame))
 		return;
 #endif
 	panic("%s trap", trapname(frame->exc));


More information about the svn-src-all mailing list