Conversation
|
Checking that the passed argument is a capability with at least read permission is very annoying without an instruction for getting more precise permission. See https://github.com/logsem/cerise-stack-monotone/blob/master/theories/examples/macros/checkra.v . |
272d26f to
9d94820
Compare
|
The existing specification of the switcher return is too strong for proving the stack object example: Intuitively, it comes from the fact that the passed SO contains words that are safe-to-share as public transitions of the world from the state pre-adversary call. So, to make it work, we need a generalisation of the switcher specification: see |
…to simplify the definitions
3421750 to
37a396d
Compare
This PR implements the stack object example from Monotone Cerise, adapted to the Griotte setup.
Among others, in addition to the original checks on the passed stack object, we also need to check that the passed SO does not overlap with our stack frame. In Monotone Cerise, this is guaranteed by the machine, because functions arguments are passed via the stack, and stack capabilities are Directed, meaning that they can't point upward.