svn commit: r220526 - head/sys/kern

Kostik Belousov kostikbel at gmail.com
Fri Apr 15 08:27:12 UTC 2011


On Thu, Apr 14, 2011 at 05:13:28PM -0400, John Baldwin wrote:
> On Sunday, April 10, 2011 1:07:03 pm Konstantin Belousov wrote:
> > Author: kib
> > Date: Sun Apr 10 17:07:02 2011
> > New Revision: 220526
> > URL: http://svn.freebsd.org/changeset/base/220526
> > 
> > Log:
> >   Some callers of proc_reparent() already have the parent process locked.
> >   Detect the situation and avoid process lock recursion.
> >   
> >   Reported by:	Fabian Keil <freebsd-listen fabiankeil de>
> > 
> > Modified:
> >   head/sys/kern/kern_exit.c
> 
> Can we instead assert it is always held and fix callers that don't?  Using 
> locked variables is messy and I'd rather avoid it when possible.  We already 
> require the caller to hold other locks for this operation.
> 
I agree that this is ugly, and proper fix probably would be something else.
E.g. struct proc could grow another field that holds a pointer to the ucred
it is accounted for, and locked with some global lock.
-------------- 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-head/attachments/20110415/44aac16c/attachment.pgp


More information about the svn-src-head mailing list