[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Bug#105476: proc and auth not robust
From: |
Marcus Brinkmann |
Subject: |
Bug#105476: proc and auth not robust |
Date: |
Sun, 5 Aug 2001 20:35:52 +0200 |
User-agent: |
Mutt/1.3.18i |
On Sat, Aug 04, 2001 at 06:26:12PM -0400, Roland McGrath wrote:
> Agreed. I see no reason it needs to hold the lock before the first line
> that touches P->p_id. Hmm, I wonder what happens if the process dies while
> proc is blocked in auth_server_authenticate. process_has_exited will have
> come in and done ids_rele(p->p_id). So it's necessary to check p_dead
> after reacquiring the lock.
Yes. I thought about this a few days ago and came to the same conclusion.
It is safe to refer to *p as we get a reference in reqport_find (our
intran), so even if the child was reaped in the meantime we are fine.
> > The other issue is that even if we do this, both auth and proc will sit
> > on memory and threads if the user destroys the rendezvous port.
> It looks to me like that is already handled.
> Note `ports_interrupt_self_on_port_death', auth.c line 403 (and line 322).
Right. I missed that because I am still too unfamiliar with libports, and
was looking for bare-bone mach stuff. Time to change that.
Thanks,
Marcus
--
`Rhubarb is no Egyptian god.' Debian http://www.debian.org brinkmd@debian.org
Marcus Brinkmann GNU http://www.gnu.org marcus@gnu.org
Marcus.Brinkmann@ruhr-uni-bochum.de
http://www.marcus-brinkmann.de