Module Name:    src
Committed By:   hannken
Date:           Fri Nov  8 11:06:21 UTC 2019

Modified Files:
        src/external/cddl/osnet/dev/dtrace/amd64: dtrace_subr.c

Log Message:
dtrace_trap() gets called from alltraps() -> trap() with interrupts enabled
so we cannot assert for interrupts disabled here.

Should fix PR kern/54603: kernel panic when running dtruss


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 \
    src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c
diff -u src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c:1.13 src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c:1.14
--- src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c:1.13	Fri Jul  5 08:29:18 2019
+++ src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c	Fri Nov  8 11:06:21 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: dtrace_subr.c,v 1.13 2019/07/05 08:29:18 hannken Exp $	*/
+/*	$NetBSD: dtrace_subr.c,v 1.14 2019/11/08 11:06:21 hannken Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -412,7 +412,11 @@ dtrace_trap(struct trapframe *frame, u_i
 	 */
 	nofault = (cpu_core[cpuid].cpuc_dtrace_flags & CPU_DTRACE_NOFAULT) != 0;
 	if (nofault) {
+#if 0
+		This assertion would always fire, we get called from
+		alltraps() -> trap() with interrupts enabled.
 		KASSERTMSG((x86_read_flags() & PSL_I) == 0, "interrupts enabled");
+#endif
 
 		/*
 		 * There are only a couple of trap types that are expected.

Reply via email to