-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarify interaction of levels with sealed capabilities #439
Conversation
I agree with the CheriOT decisions here and that only level is outside of sealing, this LGTM. |
It's worth noting that we're not completely happy with the CHERIoT solution, since it means that it's possible to strip In practice, this isn't a huge problem for us, because we
Flipping bits on intra-compartment anything is just going to hurt yourself. Libraries are much like your own code, and jumping in with a non- But, even though it seems to work out OK for us, it's still not ideal, but we have yet to come up with a better solution. It might be a problem for different compartmentalization models that try to use sentries more directly. |
I think we are happy with that behaviour (we use sealing for software-defined capabilities and it is useful to be able to provide a no-capture guarantee to delegated capabilities. Software that needs to capture can explicitly check for G and error, or can embed a G capability to the object inside the outer sealed object). The thing that we're not happy about (and have an issue to track) is that we can strip G by round tripping through memory but we can't do it via candperm. We aim to fix that before 1.0. |
See also CHERIoT-Platform/cheriot-sail#14 Co-authored-by: Tariq Kurd <[email protected]>
3320ac0
to
b4dcdf5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added the note about CL changing evenon a sealed cap
Sealed capabilities should only have their
CL
changed, but not theEL
permission.See also CHERIoT-Platform/cheriot-sail#14