Date: Thu, 26 May 2011 00:02:27 +0200 From: Oliver Pinter <oliver.pntr@gmail.com> To: Kostik Belousov <kostikbel@gmail.com> Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-8@freebsd.org Subject: Re: svn commit: r222274 - stable/8/sys/kern Message-ID: <BANLkTi=qGyhMoRAqtm2irfOD3A2M588URw@mail.gmail.com> In-Reply-To: <20110525123552.GZ48734@deviant.kiev.zoral.com.ua> References: <201105250325.p4P3PEvI097170@svn.freebsd.org> <BANLkTimE9eYRP-nkzVOdreHR_3Ahvvxg1Q@mail.gmail.com> <20110525114753.GY48734@deviant.kiev.zoral.com.ua> <BANLkTimTTdtUftCx4dOuix5u7_Vac4S_sw@mail.gmail.com> <20110525123552.GZ48734@deviant.kiev.zoral.com.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On 5/25/11, Kostik Belousov <kostikbel@gmail.com> wrote:
> On Wed, May 25, 2011 at 02:07:10PM +0200, Oliver Pinter wrote:
>> this or likely this script is enough for test?
>>
>> ---8<---
>> #!/bin/csh
>>
>> @ a = 100
>>
>> while ( $a )
>> foreach i ( "umass" "cdce" "foo" "bar" )
>> kldload $i&
>> end
>>
>> foreach i ( "umass" "cdce" "foo" "bar" )
>> kldunload $i&
>> end
>> @ a--
>> end
>> ---8<---
> Only if the unload of any of the listed modules caused destruction
> of some devfs node.
>
> May be, the easiest for 7 is to create some md(4) device and then
> destroy it.
>
>>
>> On 5/25/11, Kostik Belousov <kostikbel@gmail.com> wrote:
>> > On Wed, May 25, 2011 at 12:11:29PM +0200, Oliver Pinter wrote:
>> >> MFC to 7-STABLE?
>> > Somebody need to test it for 7 (I do not expect any failures, but I also
>> > prefer to not commit untested changes).
>> >
>> > The testing should include destroying some devfs nodes, e.g. by loading
>> > and unloading a driver that creates and destroys them.
Runned 3 times the attached test script. The system remained stable.
FreeBSD pandora-d 7.4-STABLE FreeBSD 7.4-STABLE #83 r222274=49d86ad:
Wed May 25 17:49:38 CEST 2011
root@pandora-d:/usr/obj/usr/src/sys/stable amd64
>
[-- Attachment #2 --]
commit 49d86ad84d6347006ef359ffa0fa0e575d700246
Author: kib <kib@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Date: Wed May 25 03:25:14 2011 +0000
MFC r222086: The protection against the race with dev_rel(), introduced in r163328, should be extended to cover destroy_devl() calls for the children of the destroyed dev.
git-svn-id: svn://svn.freebsd.org/base/stable/8@222274 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c
index 09859aa..3207438 100644
--- a/sys/kern/kern_conf.c
+++ b/sys/kern/kern_conf.c
@@ -874,6 +874,8 @@ 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);
@@ -890,7 +892,6 @@ destroy_devl(struct cdev *dev)
dev->si_flags &= ~SI_CLONELIST;
}
- dev->si_refcount++; /* Avoid race with dev_rel() */
csw = dev->si_devsw;
dev->si_devsw = NULL; /* already NULL for SI_ALIAS */
while (csw != NULL && csw->d_purge != NULL && dev->si_threadcount) {
[-- Attachment #3 --]
7zXZ ִF ! t/y] 2I.DQiE,pnRJQjp{`C5킂4%<cO00QF\щ*s4
1o#PEdv7$*8FV.
FiP,wlV ,ܷ?A,`>"T\˂nxd4[<xG[
5!&wdX6 ʜqtD]N}hiE"-61K*]H.gr@RXvY[IQҡVd0r@$Oy
ڝ&V,A"7yךo;%m[v,ٱ i^1<>6)<@rY*0@ `n *=9g YZ
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTi=qGyhMoRAqtm2irfOD3A2M588URw>
