Commit caf3bd5
Require store local when storing return sentries (#64)
* Belatedly fix StoreCapImmediate docs
We no longer throw exceptions for !SL authorities storing !G capabilities, just
clear the tag.
* Require store local when storing return sentries
Backwards control-flow arcs should ideally be confined to the stack and register
save areas. Conveniently, we have mechanism in the RTOS to identify exactly
those areas of memory, with capabilities bearing `SL` (store local) permission.
And, after #54, the ISA has
mechanism for identifying backwards control-flow arcs, with the two return
sentry types. We should have capability store impose the requirement for `SL`
in the authorizing cap if the cap being stored is a return sentry.
Credit where it's due: this is Robert's idea, originally suggested in the
obviously-wrong-in-retrospect
#63 ("Have CJALR create !G
sentries?").
Co-authored-by: Robert Norton <[email protected]>
* Review feedback
Co-authored-by: Robert Norton <[email protected]>
---------
Co-authored-by: Robert Norton <[email protected]>
Co-authored-by: Robert Norton <[email protected]>1 parent 114e78a commit caf3bd5
File tree
3 files changed
+16
-6
lines changed- archdoc
- src
3 files changed
+16
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
41 | 40 | | |
42 | 41 | | |
43 | 42 | | |
44 | 43 | | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
45 | 47 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
327 | 327 | | |
328 | 328 | | |
329 | 329 | | |
330 | | - | |
| 330 | + | |
331 | 331 | | |
332 | 332 | | |
333 | 333 | | |
| |||
487 | 487 | | |
488 | 488 | | |
489 | 489 | | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
490 | 493 | | |
491 | 494 | | |
492 | 495 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
860 | 860 | | |
861 | 861 | | |
862 | 862 | | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
863 | 867 | | |
864 | 868 | | |
865 | 869 | | |
| |||
868 | 872 | | |
869 | 873 | | |
870 | 874 | | |
871 | | - | |
872 | | - | |
873 | 875 | | |
874 | 876 | | |
875 | 877 | | |
| |||
903 | 905 | | |
904 | 906 | | |
905 | 907 | | |
906 | | - | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
907 | 912 | | |
908 | 913 | | |
909 | 914 | | |
| |||
0 commit comments