Date: Thu, 19 Oct 2006 01:04:35 +0000 (UTC) From: Tor Egge <Tor.Egge@cvsup.no.freebsd.org> To: keramida@freebsd.org Cc: cvs-src@freebsd.org, mb@imp.ch, src-committers@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/kern kern_conf.c Message-ID: <20061019.010435.41670238.Tor.Egge@cvsup.no.freebsd.org> In-Reply-To: <20061019000424.GA1262@gothmog.pc> References: <20061015091459.V72308@godot.imp.ch> <20061018234916.GA1711@gothmog.pc> <20061019000424.GA1262@gothmog.pc>
next in thread | previous in thread | raw e-mail | index | archive | help
> FWIW, reverting revision 1.199 of kern_conf.c locally fixes the > unkillable xterms, stuck in "devdrn", problem. destroy_devl() is only stuck in "devdrn" if a thread has called dev_refthread() but not yet called dev_relthread(). If that thread doesn't sleep forever then it might write to freed memory on a system where revision 1.199 of kern_conf is reverted, cf. <URL:http://people.freebsd.org/~pho/stress/log/cons211.html>. Pseudo ttys need a purge method since there might be races associated with trying to wake sleeping threads before calling destroy_dev() where a new thread can go to sleep at the wrong moment. A related race is devfs_fp_check() versus devfs_reclaim(), allowing for dev_refthread() to be called with a pointer to freed memory. - Tor Egge
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061019.010435.41670238.Tor.Egge>