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