Author: kib
Date: Mon Sep 21 09:41:51 2009
New Revision: 197389
URL: http://svn.freebsd.org/changeset/base/197389

Log:
  If CPU happens to be in usermode when a T_RESERVED trap occured,
  then trapsignal is called with ksi.ksi_signo = 0. For debugging kernels,
  that should end up in panic, for non-debugging kernels behaviour is
  undefined.
  
  Do panic regardeless of execution mode at the moment of trap.
  
  Reviewed by:  jhb
  MFC after:    1 month

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

Modified: head/sys/amd64/amd64/trap.c
==============================================================================
--- head/sys/amd64/amd64/trap.c Mon Sep 21 09:09:55 2009        (r197388)
+++ head/sys/amd64/amd64/trap.c Mon Sep 21 09:41:51 2009        (r197389)
@@ -253,6 +253,11 @@ trap(struct trapframe *frame)
        }
 #endif
 
+       if (type == T_RESERVED) {
+               trap_fatal(frame, 0);
+               goto out;
+       }
+
 #ifdef HWPMC_HOOKS
        /*
         * CPU PMCs interrupt using an NMI.  If the PMC module is

Modified: head/sys/i386/i386/trap.c
==============================================================================
--- head/sys/i386/i386/trap.c   Mon Sep 21 09:09:55 2009        (r197388)
+++ head/sys/i386/i386/trap.c   Mon Sep 21 09:41:51 2009        (r197389)
@@ -225,6 +225,11 @@ trap(struct trapframe *frame)
        }
 #endif
 
+       if (type == T_RESERVED) {
+               trap_fatal(frame, 0);
+               goto out;
+       }
+
 #ifdef HWPMC_HOOKS
        /*
         * CPU PMCs interrupt using an NMI so we check for that first.
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to