aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_conf.c
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2015-01-14 22:07:13 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2015-01-14 22:07:13 +0000
commitd2955419cd768fd90d9b07e6e3b104694df26986 (patch)
tree77fbb7d5d403fb7634749cf5b96fa3188c3de18b /sys/kern/kern_conf.c
parent38feff972bc0888db2c6611f2428839262cfdead (diff)
downloadsrc-d2955419cd768fd90d9b07e6e3b104694df26986.tar.gz
src-d2955419cd768fd90d9b07e6e3b104694df26986.zip
Avoid race with "dev_rel()" when using the recently added
"delist_dev()" function. Make sure the character device structure doesn't go away until the end of the "destroy_dev()" function due to concurrently running cleanup code inside "devfs_populate()". MFC after: 1 week Reported by: dchagin@
Notes
Notes: svn path=/head/; revision=277199
Diffstat (limited to 'sys/kern/kern_conf.c')
-rw-r--r--sys/kern/kern_conf.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c
index 8b1fdc198cf7..bcd6fb926fe9 100644
--- a/sys/kern/kern_conf.c
+++ b/sys/kern/kern_conf.c
@@ -1048,8 +1048,6 @@ destroy_devl(struct cdev *dev)
/* Remove name marking */
dev->si_flags &= ~SI_NAMED;
- dev->si_refcount++; /* Avoid race with dev_rel() */
-
/* If we are a child, remove us from the parents list */
if (dev->si_flags & SI_CHILD) {
LIST_REMOVE(dev, si_siblings);