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.