summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_witness.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2001-06-28 22:22:20 +0000
committerjhb <jhb@FreeBSD.org>2001-06-28 22:22:20 +0000
commite77dfdc28f7cdb80d938a1670ef1e08d457e73a7 (patch)
tree973088140d4c0e016c7b6f639aa23ecb8b43f714 /sys/kern/subr_witness.c
parent1bc2ddffa02d9d64d8e514191703730bca741a4b (diff)
downloadFreeBSD-src-e77dfdc28f7cdb80d938a1670ef1e08d457e73a7.zip
FreeBSD-src-e77dfdc28f7cdb80d938a1670ef1e08d457e73a7.tar.gz
Don't check witness assertions if the lock doesn't use witness or witness
is dead.
Diffstat (limited to 'sys/kern/subr_witness.c')
-rw-r--r--sys/kern/subr_witness.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/kern/subr_witness.c b/sys/kern/subr_witness.c
index f253c7d..df25168 100644
--- a/sys/kern/subr_witness.c
+++ b/sys/kern/subr_witness.c
@@ -1351,6 +1351,9 @@ witness_assert(struct lock_object *lock, int flags, const char *file, int line)
#ifdef INVARIANT_SUPPORT
struct lock_instance *instance;
+ if (lock->lo_witness == NULL || witness_dead)
+ return;
+
if ((lock->lo_class->lc_flags & LC_SLEEPLOCK) != 0)
instance = find_instance(curproc->p_sleeplocks, lock);
else if ((lock->lo_class->lc_flags & LC_SPINLOCK) != 0)
OpenPOWER on IntegriCloud