Date: Fri, 23 Jun 2006 19:28:48 +0200 From: Max Laier <max@love2party.net> To: freebsd-stable@freebsd.org Cc: "Wojciech A. Koszek" <wkoszek@freebsd.org>, csjp@freebsd.org, Martin Blapp <mb@imp.ch>, Robert Watson <rwatson@freebsd.org>, Patrick Guelat <patg@imp.ch> Subject: Re: Crash with FreeBSD 6.1 STABLE of today Message-ID: <200606231928.58063.max@love2party.net> In-Reply-To: <1151078632.62769.30.camel@buffy.york.ac.uk> References: <20060621202508.S17514@godot.imp.ch> <20060623133915.S14714@godot.imp.ch> <1151078632.62769.30.camel@buffy.york.ac.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart4714497.KMY0BdFFgL Content-Type: text/plain; charset="iso-8859-6" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Friday 23 June 2006 18:03, Gavin Atkinson wrote: > On Fri, 2006-06-23 at 13:46 +0200, Martin Blapp wrote: > > Hi, > > > > Maybe this is the solution ? IMHO there is a race window > > open between the first tp->t_session test and the locking > > of the proc tree. > > I'm not sure if t_session is supposed to be protected by the proctree > lock though. With an initial glance of the code, it would seem odd to > be protected by the proctree lock, although I can't see any other locks > Someone with more knowledge of this code will probably know the answer > to this. > > There does seem to be a worrying comment above tty_close (which is the > only place that t_session seems to be set to NULL): > > * XXX our caller should have done `spltty(); l_close(); tty_close();' > * and l_close() should have flushed, but we repeat the spltty() and > * the flush in case there are buggy callers. > > As I understand it, spltty() is now a no-op. Does this mean that this > code is now essentially running without any locks that were used to > serialise changes to struct tty in days gone by? Or is the whole tty > subsystem still running under Giant? Just as a random note. I remember looking at a somewhat similar problem=20 during the 6.0 release cycle and comming up with a patch[1]. Somehow the=20 problem went away and I lost track of the patch. Can't remember who was=20 testing it. I think I talked with Christan about it, though [CC-list++] Note, I am not sure if the patch still applies or is correct at all, but fr= om=20 looking at it (and the name of the file) I seem to remember that there was = a=20 problem with t_pgrp and t_session being accessed unlocked in some places. = =20 Maybe it helps, maybe it doesn't. [1] http://people.freebsd.org/~mlaier/tty.t_pgrp.diff =2D-=20 /"\ Best regards, | mlaier@freebsd.org \ / Max Laier | ICQ #67774661 X http://pf4freebsd.love2party.net/ | mlaier@EFnet / \ ASCII Ribbon Campaign | Against HTML Mail and News --nextPart4714497.KMY0BdFFgL Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (FreeBSD) iD8DBQBEnCTaXyyEoT62BG0RAqicAJ99MNWRCj8xsQmFuUi2B304EyxpuACfTEsv V9ehBvanTSwgvdSN4UNKgRI= =y6go -----END PGP SIGNATURE----- --nextPart4714497.KMY0BdFFgL--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200606231928.58063.max>