diff options
author | hselasky <hselasky@FreeBSD.org> | 2015-01-14 22:07:13 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2015-01-14 22:07:13 +0000 |
commit | b04cbf0c36a250a198bd3590209a1950e382664f (patch) | |
tree | 77fbb7d5d403fb7634749cf5b96fa3188c3de18b /sys/kern | |
parent | ebab1754a3d2609947e5d0562d678979a6040614 (diff) | |
download | FreeBSD-src-b04cbf0c36a250a198bd3590209a1950e382664f.zip FreeBSD-src-b04cbf0c36a250a198bd3590209a1950e382664f.tar.gz |
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@
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/kern_conf.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c index 8b1fdc1..bcd6fb9 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); |