Skip site navigation (1)Skip section navigation (2)
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>