Date: Fri, 23 Jun 2006 13:46:14 +0200 (CEST) From: Martin Blapp <mb@imp.ch> To: Gavin Atkinson <gavin.atkinson@ury.york.ac.uk> Cc: Robert Watson <rwatson@freebsd.org>, Patrick Guelat <patg@imp.ch>, "Wojciech A. Koszek" <wkoszek@freebsd.org>, freebsd-stable@freebsd.org Subject: Re: Crash with FreeBSD 6.1 STABLE of today Message-ID: <20060623133915.S14714@godot.imp.ch> In-Reply-To: <1151056731.62769.2.camel@buffy.york.ac.uk> References: <20060621202508.S17514@godot.imp.ch> <20060621193941.Y8526@fledge.watson.org> <20060622205806.GA6542@FreeBSD.czest.pl> <20060622223630.V17514@godot.imp.ch> <1151056731.62769.2.camel@buffy.york.ac.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Martin
+++ src/sys/kern/tty.c
--- src/sys/kern/tty.c
+ sx_slock(&proctree_lock);
if (tp->t_session) {
- sx_slock(&proctree_lock);
if (tp->t_session->s_leader) {
struct proc *p;
p = tp->t_session->s_leader;
PROC_LOCK(p);
psignal(p, SIGHUP);
PROC_UNLOCK(p);
}
- sx_sunlock(&proctree_lock);
}
+ sx_sunlock(&proctree_lock);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060623133915.S14714>
