svn commit: r222274 - stable/8/sys/kern

Oliver Pinter oliver.pntr at gmail.com
Wed May 25 12:07:12 UTC 2011


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<---

On 5/25/11, Kostik Belousov <kostikbel at 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.
>>
>> On 5/25/11, Konstantin Belousov <kib at freebsd.org> wrote:
>> > Author: kib
>> > Date: Wed May 25 03:25:14 2011
>> > New Revision: 222274
>> > URL: http://svn.freebsd.org/changeset/base/222274
>> >
>> > Log:
>> >   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.
>> >
>> > Modified:
>> >   stable/8/sys/kern/kern_conf.c
>> > Directory Properties:
>> >   stable/8/sys/   (props changed)
>> >   stable/8/sys/amd64/include/xen/   (props changed)
>> >   stable/8/sys/cddl/contrib/opensolaris/   (props changed)
>> >   stable/8/sys/contrib/dev/acpica/   (props changed)
>> >   stable/8/sys/contrib/pf/   (props changed)
>> >
>> > Modified: stable/8/sys/kern/kern_conf.c
>> > ==============================================================================
>> > --- stable/8/sys/kern/kern_conf.c	Wed May 25 01:04:12 2011	(r222273)
>> > +++ stable/8/sys/kern/kern_conf.c	Wed May 25 03:25:14 2011	(r222274)
>> > @@ -885,6 +885,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);
>> > @@ -901,7 +903,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) {
>> > _______________________________________________
>> > svn-src-stable at freebsd.org mailing list
>> > http://lists.freebsd.org/mailman/listinfo/svn-src-stable
>> > To unsubscribe, send any mail to
>> > "svn-src-stable-unsubscribe at freebsd.org"
>> >
>


More information about the svn-src-all mailing list