Date: Mon, 13 Jun 2011 21:21:02 +0000 (UTC) From: "Justin T. Gibbs" <gibbs@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/kern subr_devstat.c Message-ID: <201106132121.p5DLLRNw035398@repoman.freebsd.org>
index | next in thread | raw e-mail
gibbs 2011-06-13 21:21:02 UTC
FreeBSD src repository
Modified files:
sys/kern subr_devstat.c
Log:
SVN rev 223061 on 2011-06-13 21:21:02Z by gibbs
Fix a couple of race conditions in devstat(9) initialization.
In devstat_new_entry(), there is no need to initialize the queue
and the mutex in this function. There are ways to do static
initialization on both, so use STAILQ_HEAD_INITIALIZER and
MTX_SYSINIT to initialize the queue and the mutex.
In devstat_alloc(), use an atomic test and set routine to guard
making our entry in /dev. Using just a plain static variable
creates a race condition on multiprocessor machines. If you
attempt to create a second entry in devfs, the kernel will panic.
Submitted by: kdm
Reviewed by: gibbs
Sponsored by: Spectra Logic Corporation
MFC after: 1 week.
Revision Changes Path
1.57 +3 -9 src/sys/kern/subr_devstat.c
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201106132121.p5DLLRNw035398>
