Rust requires that the borrow checker rules be enforced at all times, including in unsafe code. We do not currently have any checks for this in RMC.
Likelihood:
If code contains this bug, RMC will not detect it. We have manually found at least one possible instance of this case in Firecracker. We do not have any data as to how often this occurs in practice.
Mitigation:
Path to soundness:
Documentation:
https://plv.mpi-sws.org/Rustbelt/stacked-borrows/
Rust requires that the borrow checker rules be enforced at all times, including in unsafe code. We do not currently have any checks for this in RMC.
Likelihood:
If code contains this bug, RMC will not detect it. We have manually found at least one possible instance of this case in Firecracker. We do not have any data as to how often this occurs in practice.
Mitigation:
Path to soundness:
Documentation:
https://plv.mpi-sws.org/Rustbelt/stacked-borrows/