svn commit: r222274 - stable/8/sys/kern
Kostik Belousov
kostikbel at gmail.com
Wed May 25 11:48:00 UTC 2011
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"
> >
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/svn-src-stable-8/attachments/20110525/f957d332/attachment.pgp
More information about the svn-src-stable-8
mailing list