-
Notifications
You must be signed in to change notification settings - Fork 52
Open
Labels
layer-shimFocusing on one or more shims / "north" of LiteBox itselfFocusing on one or more shims / "north" of LiteBox itself
Description
In order to make useful safety claims about LiteBox as a whole, I think we need to better layer our use of unsafe across the LiteBox stack. Considering the four layers:
- Platform code requires lots of unsafe, since it is integrating with OS primitives that the Rust borrow checker and even Verus cannot easily reason about.
- Runner code's use of unsafe depends on how well the associated platform manages to provide safe methods on top of the unsafe code.
liteboxcode requires unsafe to implement mutexes and other low-level data structures... but this type of code is probably formally verifiable via Verus.- Shim code should require no unsafe code--it should be built on top of abstractions provided by
litebox.
This issue is most concerned with shim code. We should drive all uses of unsafe out of the shims and into litebox.
The biggest offender is user-mode memory access. We will need to consider #505 as part of this.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
layer-shimFocusing on one or more shims / "north" of LiteBox itselfFocusing on one or more shims / "north" of LiteBox itself