-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
WIP PROOF-OF-CONCEPT: experiment with very strict pointer provenance #95199
Commits on Mar 22, 2022
-
WIP PROOF-OF-CONCEPT: experiment with very strict pointer provenance
This patch series examines the question: how bad would it be if we adopted an extremely strict pointer provenance model that completely banished all int<->ptr casts. The key insight to making this approach even *vaguely* pallatable is the ptr.with_addr(addr) -> ptr function, which takes a pointer and an address and creates a new pointer with that address and the provenance of the input pointer. In this way the "chain of custody" is completely and dynamically restored, making the model suitable even for dynamic checkers like CHERI and Miri. This is not a formal model, but lots of the docs discussing the model have been updated to try to the *concept* of this design in the hopes that it can be iterated on. Many new methods have been added to ptr to attempt to fill in semantic gaps that this introduces, or to just get the ball rolling on "hey this is a problem that needs to be solved, here's a bad solution as a starting point".
Configuration menu - View commit details
-
Copy full SHA for a6f45ee - Browse repository at this point
Copy the full SHA a6f45eeView commit details -
WIP PROOF-OF-CONCEPT: Make the compiler complain about all int<->ptr …
…casts. ALL OF THEM
Configuration menu - View commit details
-
Copy full SHA for 93f7f06 - Browse repository at this point
Copy the full SHA 93f7f06View commit details -
WIP PROOF-OF-CONCEPT: handle all the fallout in the libs
Still working on this, but it seems to largely be a lot of `as usize` -> `.addr()`
Configuration menu - View commit details
-
Copy full SHA for 701aa6c - Browse repository at this point
Copy the full SHA 701aa6cView commit details -
WIP PROOF-OF-CONCEPT handle all the fallout in rustc
Why does rustc do oh so many crimes? Oh so many...
Configuration menu - View commit details
-
Copy full SHA for 09be027 - Browse repository at this point
Copy the full SHA 09be027View commit details
Commits on Mar 23, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 81f77d3 - Browse repository at this point
Copy the full SHA 81f77d3View commit details -
Configuration menu - View commit details
-
Copy full SHA for f016122 - Browse repository at this point
Copy the full SHA f016122View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9052a68 - Browse repository at this point
Copy the full SHA 9052a68View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e588d1 - Browse repository at this point
Copy the full SHA 4e588d1View commit details -
Configuration menu - View commit details
-
Copy full SHA for e60b84b - Browse repository at this point
Copy the full SHA e60b84bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8643aa4 - Browse repository at this point
Copy the full SHA 8643aa4View commit details