Date: Tue, 6 Jul 2010 00:54:36 +0200 From: Ed Schouten <ed@80386.nl> To: Jeremie Le Hen <jeremie@le-hen.org> Cc: freebsd-stable@FreeBSD.org Subject: Re: Panic in destroy_dev_sched_cb() for tty Message-ID: <20100705225436.GL2179@hoeg.nl> In-Reply-To: <20100705185019.GB6194@felucia.tataz.chchile.org> References: <20100705185019.GB6194@felucia.tataz.chchile.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--xVNRhe5Alm/fDnuT Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable * Jeremie Le Hen <jeremie@le-hen.org> wrote: > I've got a panic obviously from the tty layer but I couldn't get the > panic string as no remote system was connected using serial console, and > I don't know how to print it from DDB. Hmmm... This is a tricky one, but I think I do understand what's going on here. If you close and revoke a TTY at the very exact moment, it may call destroy_dev_sched_cb() twice, where the second time it gets called on a null pointer. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/kern/tty.c (revision 209570) +++ sys/kern/tty.c (working copy) @@ -1040,7 +1040,8 @@ tp->t_dev =3D NULL; tty_unlock(tp); =20 - destroy_dev_sched_cb(dev, tty_dealloc, tp); + if (dev !=3D NULL) + destroy_dev_sched_cb(dev, tty_dealloc, tp); } =20 void I guess it's very hard to reproduce, right? If so, I'll just commit it to SVN. Thanks for reporting! --=20 Ed Schouten <ed@80386.nl> WWW: http://80386.nl/ --xVNRhe5Alm/fDnuT Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.15 (FreeBSD) iEYEARECAAYFAkwyYqwACgkQ52SDGA2eCwWLWACbBTNIytx9SKVXHh5rjsrSsY/k QAkAnR2I9ZCNH4pI8tAi/JViACbhKJYt =5eo1 -----END PGP SIGNATURE----- --xVNRhe5Alm/fDnuT--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100705225436.GL2179>