Crash with FreeBSD 6.1 STABLE of today

Martin Blapp mb at imp.ch
Fri Jun 23 11:46:20 UTC 2006


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);



More information about the freebsd-stable mailing list