diff options
author | kib <kib@FreeBSD.org> | 2008-05-23 16:38:38 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2008-05-23 16:38:38 +0000 |
commit | c1c2996ed228e8889c215c2678d5c30477e43b12 (patch) | |
tree | 3934fb8bb197bdce5b57a3231c4fc676d90e0da7 /sys/kern/kern_conf.c | |
parent | ad73989e217fc422c2aef5d60cdf23baee9b9489 (diff) | |
download | FreeBSD-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.c | 2 |
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(); } |