Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Object aliasing violations are not detected #314

Open
2 tasks
Tracked by #3089
danielsn opened this issue Jul 8, 2021 · 1 comment
Open
2 tasks
Tracked by #3089

Object aliasing violations are not detected #314

danielsn opened this issue Jul 8, 2021 · 1 comment
Labels
[C] Feature / Enhancement A new feature request or enhancement to an existing feature. [E] Unsupported UB Undefined behavior that Kani does not detect
Milestone

Comments

@danielsn
Copy link
Contributor

danielsn commented Jul 8, 2021

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:

  • Warn users that this class of UB is outside the current scope of RMC.

Path to soundness:

  • Add a check for this, likely based off the “stacked borrows” work.

Documentation:

https://plv.mpi-sws.org/Rustbelt/stacked-borrows/

@danielsn danielsn added this to the Soundness milestone Jul 8, 2021
@zhassan-aws
Copy link
Contributor

This is more of a feature request to implement stacked borrows.

@zhassan-aws zhassan-aws changed the title Soundness: Object aliasing violations are not detected Object aliasing violations are not detected Apr 19, 2022
@tedinski tedinski added [C] Feature / Enhancement A new feature request or enhancement to an existing feature. [E] Unsupported UB Undefined behavior that Kani does not detect labels Nov 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[C] Feature / Enhancement A new feature request or enhancement to an existing feature. [E] Unsupported UB Undefined behavior that Kani does not detect
Projects
None yet
Development

No branches or pull requests

3 participants