Date: Mon, 11 Sep 2006 18:29:49 +0200 From: Max Laier <max@love2party.net> To: John Baldwin <jhb@freebsd.org> Cc: cvs-src@freebsd.org, Martin Blapp <mbr@freebsd.org>, src-committers@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/kern tty.c Message-ID: <200609111829.58796.max@love2party.net> In-Reply-To: <200609111048.19397.jhb@freebsd.org> References: <200609101651.k8AGpuqm069774@repoman.freebsd.org> <200609111048.19397.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] On Monday 11 September 2006 16:48, John Baldwin wrote: > On Sunday 10 September 2006 12:51, Martin Blapp wrote: > > mbr 2006-09-10 16:51:56 UTC > > > > FreeBSD src repository > > > > Modified files: > > sys/kern tty.c > > Log: > > Fix locking race in ttymodem(). The locking of the proctree happens > > too late and opens a small race window before tp->t_session->s_leader > > is accessed. In case tp->t_session has just been set to NULL > > elsewhere, we get a panic(). > > > > This fix is a bandaid until someone else fixes the whole locking in > > the tty subsystem. Definitly more work needs to be done. > > > > MFC after: 1 week > > Reviewed by: mlaier > > PR: kern/103101 > > Did you ever try putting a 'mtx_assert(&Giant, MA_OWNED);' in place to > see if Giant is held there? Until the tty system is locked, the proper > fix is to put Giant back on top of it, not abuse the wrong lock. > Abusing the wrong lock is only going to narrow the race, not fix it. Unless, of course, the offending call path (the one entering the tty code w/o Giant) holds the "wrong lock", which - in this case - is likely as a change of t_session means something was fiddling with the proctree. Martin was trying to get you and others involved with this beforehand. This commit is - as indicated in the commit message - a bandaid that fixes the apparent problem. In Martin's installation this problem manifests in panic()ing every other hour - I don't think that's a system state we want to ship as FreeBSD 6.2. This is why we decided to commit the bandaid now, after Martin's other requests for help and input timed out. Seems like the plan worked and people start looking at this, now ;) -- /"\ Best regards, | mlaier@freebsd.org \ / Max Laier | ICQ #67774661 X http://pf4freebsd.love2party.net/ | mlaier@EFnet / \ ASCII Ribbon Campaign | Against HTML Mail and News [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (FreeBSD) iD8DBQBFBY8GXyyEoT62BG0RAhibAJ4nxKYAkm4fofm8neE/vUoZdGkXfwCdGRAV f4QmpEP8bSh953kltR4WFik= =qUU0 -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200609111829.58796.max>
