From b04cbf0c36a250a198bd3590209a1950e382664f Mon Sep 17 00:00:00 2001 From: hselasky Date: Wed, 14 Jan 2015 22:07:13 +0000 Subject: 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@ --- sys/kern/kern_conf.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'sys/kern/kern_conf.c') 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); -- cgit v1.1