Date: Fri, 15 Apr 2011 11:27:06 +0300 From: Kostik Belousov <kostikbel@gmail.com> To: John Baldwin <jhb@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, trasz@freebsd.org Subject: Re: svn commit: r220526 - head/sys/kern Message-ID: <20110415082706.GI48734@deviant.kiev.zoral.com.ua> In-Reply-To: <201104141713.28311.jhb@freebsd.org> References: <201104101707.p3AH736T054347@svn.freebsd.org> <201104141713.28311.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--cW+P/jduATWpL925 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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 > >=20 > > Log: > > Some callers of proc_reparent() already have the parent process locke= d. > > Detect the situation and avoid process lock recursion. > > =20 > > Reported by: Fabian Keil <freebsd-listen fabiankeil de> > >=20 > > Modified: > > head/sys/kern/kern_exit.c >=20 > Can we instead assert it is always held and fix callers that don't? Usin= g=20 > locked variables is messy and I'd rather avoid it when possible. We alre= ady=20 > require the caller to hold other locks for this operation. >=20 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. --cW+P/jduATWpL925 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (FreeBSD) iEYEARECAAYFAk2oAVoACgkQC3+MBN1Mb4ipJwCdGBm37JsjAiBc1EToMmI+b6Dp czgAoMIsuLe4E8WTDYf8pVNiMKUC87D5 =cQRQ -----END PGP SIGNATURE----- --cW+P/jduATWpL925--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110415082706.GI48734>