summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_conf.c
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2008-05-23 16:38:38 +0000
committerkib <kib@FreeBSD.org>2008-05-23 16:38:38 +0000
commitc1c2996ed228e8889c215c2678d5c30477e43b12 (patch)
tree3934fb8bb197bdce5b57a3231c4fc676d90e0da7 /sys/kern/kern_conf.c
parentad73989e217fc422c2aef5d60cdf23baee9b9489 (diff)
downloadFreeBSD-src-c1c2996ed228e8889c215c2678d5c30477e43b12.zip
FreeBSD-src-c1c2996ed228e8889c215c2678d5c30477e43b12.tar.gz
Assert that si_threadcount > 0 before decrementing it. This helps catching
the improper use of the dev_refthread/dev_relthread. Tested by: pho MFC after: 1 week
Diffstat (limited to 'sys/kern/kern_conf.c')
-rw-r--r--sys/kern/kern_conf.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c
index 0e4aa22..d4a421c 100644
--- a/sys/kern/kern_conf.c
+++ b/sys/kern/kern_conf.c
@@ -225,6 +225,8 @@ dev_relthread(struct cdev *dev)
mtx_assert(&devmtx, MA_NOTOWNED);
dev_lock();
+ KASSERT(dev->si_threadcount > 0,
+ ("%s threadcount is wrong", dev->si_name));
dev->si_threadcount--;
dev_unlock();
}
OpenPOWER on IntegriCloud