Re: port reference leaks (was: Re: new interfaces io_close, io_reidentify, file_record_lock

Marcus Brinkmann <[email protected]> Wed, 4 Dec 2002 16:33:24 +0100
Newsgroups gmane.os.hurd.devel.readers
Message-ID <[email protected]>
On Tue, Dec 03, 2002 at 08:28:17PM -0800, Thomas Bushnell, BSG wrote:
> So we need a way other than port death notifications to handle this?
> I don't think so.  I'm not certain there is a problem here.

I didn't answer what we possibly need to fix this properly.  I am not sure
this can be fixed in Mach.  However, in L4, some of these problems can
be fixed by requiring that the reply is always sent to the task that sent
the message.  The L4 kernel allows the recipient to identifies the sending
task, and this makes it easy to ensure this.

Also the rendezvous port of auth must be allocated in the auth server, and
the auth server has to check that really one of its own ports is used.  This
ensures that it has knowledge about the lifetime of the rendezvous port (it
knows about the extinct send rights).

I could go in more depth, but that requires that you make yourself
comfortable with the L4 kernel.  (For real L4 feeling, replace port with
object above).

The trick is that ports in Hurd-L4 are managed by the Hurd servers
themselves, not by the kernel.  This means you have more knowledge about who
provides which object, and who sends you messages, and you can be more
paranoid to avoid circular references.

Thanks,
Marcus

-- 
`Rhubarb is no Egyptian god.' GNU      http://www.gnu.org    [email protected]
Marcus Brinkmann              The Hurd http://www.gnu.org/software/hurd/
[email protected]
http://www.marcus-brinkmann.de/