Skip site navigation (1)Skip section navigation (2)
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.DQiE,pnRJQjp{`C5킂4%<cO00QF\щ*s4
1o#PEdv7$*8FV.
FiP,wlV,ܷ?A,`>"T\˂nxd4[<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*=9gYZ

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTi=qGyhMoRAqtm2irfOD3A2M588URw>