Date: Tue, 4 Dec 2007 12:47:24 +0100 From: Ed Schouten <ed@fxq.nl> To: Robert Watson <rwatson@FreeBSD.org> Cc: stable@FreeBSD.org, current@FreeBSD.org Subject: Re: Attention 7.x and 8.x ptmx/pts users (read if you set kern.pts.enable=1) Message-ID: <20071204114724.GL72574@hoeg.nl> In-Reply-To: <20071204111050.W30376@fledge.watson.org> References: <20071203225800.S30376@fledge.watson.org> <20071204102328.GK72574@hoeg.nl> <20071204111050.W30376@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Y8IEA2AKDLXNckrV Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable * Robert Watson <rwatson@FreeBSD.org> wrote: > Yes. There's also another known issue, likely not corrected by this patc= h,=20 > in which closing the pty before the pts fails to properly wake up process= es=20 > hung off the pts and inform them of its impending doom, resulting in the= =20 > pty/pts pair never being garbage-collected. I've not tracked this down= =20 > yet, but you can reproduce it by running screen(1) and then "killing" a= =20 > screen. screen(1) closes the pty and relies on the pty/pts mechanism to = do=20 > the rest, which doesn't. Indeed. I also noticed this bug. Simply killing sshd also reproduces this. The leak is caused by the obvious if-statement inside pty_maybecleanup(). This is because SESSRELE() is called after sshd closes the pty, if I can remember correctly. This also causes the dreaded `jail leak', because device nodes still exist that have been created with make_dev_cred(), so the ucred is still referenced. I guess the problem is that we can only call pty_maybecleanup() when ptsclose() is called and not when the real use-count of the tty has reached zero. Yours, --=20 Ed Schouten <ed@fxq.nl> WWW: http://g-rave.nl/ --Y8IEA2AKDLXNckrV Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) iD8DBQFHVT5M52SDGA2eCwURAuVmAJ4+IKFmjDtwN6FE3rpxbfX5Vrz5DwCeLMyJ Bwo1kNdbwesN2pzbYGpAUXc= =FNK+ -----END PGP SIGNATURE----- --Y8IEA2AKDLXNckrV--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071204114724.GL72574>