deceit operations for clans+chiefs.
Daniel Potts
danielp at cse.unsw.edu.au
Sat May 1 07:33:32 CEST 1999
On Sat, 1 May 1999, Daniel Potts wrote:
>
>
> Assume task A is the chief of task B, which is the chief of task C, which
> is the chief of task D. ;-)
>
> * Now, D does an ipc call to A. A successfully receives the message from D
> via the chiefs (C and B).
>
> * Now when A replies to this, the message first gets intercepted by B.
>
> * B sends a deceiting ipc to D with A as the virtual sender. This gets
> intercepted by C.
>
> * C sends a deceiting ipc to D with A as the virtual sender. This step
> fails (?!) due to direction preservation not holding. That is when C
> checks nchief on A it returns L4_NC_OUTER_CLAN, and nchief on D returns
> L4_NC_SAME_CLAN, which is not equal, and therefore not direction
> preserving.
>
> Have I got this scenario correct? Assuming that each chief can obtain
> the virtual sender as part of it's ipc api.
Whoops, I was wrong. Above I am returning incorrect values. nchief on D
should return INNER_CLAN, and we xor the result such that this ipc call
should work fine. The rules for checking the result of nchief for the
vsender and dthread:
SAME & INNER -> ok
OUTER & INNER -> ok otherwise it will fail the direction preservation
test.
Daniel
More information about the l4-hackers
mailing list