abi-aa
abi-aa copied to clipboard
Morello ELF specification lacks detail on CAP_INIT
To anyone that understands CHERI, CAP_INIT(S, A, CAP_SIZE, CAP_PERM) is obviously "the capability with base S, offset A (i.e. address ("value" in Morello-speak) S + A), length CAP_SIZE and permissions CAP_PERM", but that is not specified anywhere.
Moreover, this is not precise enough, as the otype is left unspecified. Function pointers should be created as sentries ("RB" in Morello-speak), and data pointers should be left unsealed.
I agree, we should further clarify that.
For the otype: at the moment this is left up to the dynamic linker. However in practice all runtimes should seal these.