Add support for XN vm attributes#86
Conversation
Hm, I need to look into what the capDL formalisation does with this. It's possible that the Haskell version here was an early attempt to model NX that never got carried through to the rest of the model and implementation. |
|
How would this impact the C capdl loader app? It does respect the lack of grant right to set execute never on the ARM page mappings here I think: https://github.com/seL4/capdl/blob/master/capdl-loader-app/src/main.c#L1496-L1500 |
Good catch. The way forward with this PR as it is would be to remove the line you linked and instead add logic to incorporate XN into the vm_attrs at capdl/capDL-tool/CapDL/PrintC.hs Lines 145 to 146 in 01b3bd4 capdl/capdl-loader-app/include/capdl.h Lines 19 to 32 in 01b3bd4 |
This includes removing the use of the grant permission to encode executable permissions for frames. The kernel does not use the grant permission to determine whether a frame is executable, so this encoding was not doing anything. Signed-off-by: Nick Spinale <nick@nickspinale.com>
This includes removing the use of the grant permission to encode executable permissions for frames. The kernel does not use the grant permission to determine whether a frame is executable, so this encoding was not doing anything.
Motivated by seL4/rust-sel4#280 (comment)