Deceiving IPC question: Bug or Feature?

Michael Hohmuth hohmuth at innocent.com
Wed Feb 3 04:05:11 CET 1999


gernot at cse.unsw.edu.au writes:

> We have noticed the following re deceiving IPC in L4/MIPS.
> 
> Assume task A is the chief of task B, which is the chief of task C. aa
> is a thread in A, bb a thread in B, cc a thread in C.
> 
> aa does a closed receive from bb. bb sends a deceiving message to aa
> with cc as the virtual sender. aa receives the message (although the
> virtual sender is different from the source specified in the
> receive). The kernel returns to aa the virtual sender specified by bb
> (i.e., cc), but the C bindings discard this information, so aa cannot
> see it using the C interface.
> 
> If in the otherwise identical situation aa does a closed receive from cc
> it does NOT receive the message.

>  - is this the correct behaviour?

I think this should be reversed: aa should receive the message in the
second scenario, but not in the first.

>  - do all L4 versions show this behaviour?

We never really used deceiving IPC with L4/x86 version 2 because it
was broken, and I don't know about Jochen's version 3 or L4/Alpha.

In Fiasco, deceiving IPC hasn't been implemented yet; it's not a
priority for us right now.

Michael
-- 
hohmuth at innocent.com, hohmuth at inf.tu-dresden.de
http://home.pages.de/~hohmuth/



More information about the l4-hackers mailing list