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