What If We Pretended Unsafe Code Was Nice, And Then It Was?
summary
Claims that adding strict provenance rules stops pointer/integer miscompiles by forcing a sponsorship step when reconstituting pointers, and demonstrates a concrete API called with_addr plus helper ops and an s_pointer polyfill. Implementation targets the Rust core/std and interoperates with runtime checkers Miri and hardware CHERI/MORELLO (Cherry), preventing certain use‑after‑free and misoptimization bugs. The built APIs are small, available as a polyfill, and materially improve correctness on CHERI and precision for static compilers.
AI-written summary · about
chapters (21)
- 0:00Intro
- 1:41I've Locked The Doors And I'm Going To Explain Memory Models
- 5:19Puzzle Club's Founder
- 5:34Puzzle Club's Terrible Treehouse
- 9:33The Ringer
- 11:34Wandering Plumber
- 12:23Membership
- 14:29Is The Guard Real?
- 16:11GUARDS GUARDS GUARDS
- 17:29WHO NEEDS GUARDS?
- 18:54Clone Biohazard (Resident Eval)
- 19:27Static Tracking
- 23:22Miri Tracking
- 26:59Theseus' Puzzle Club
- 28:29Playing 4D Provenance Sudoku
- 29:44Transcending Reality
- 30:34Static Transcendence: Kinda Ok?
- 32:29Dynamic Transcendence: Problematic
- 33:36Allow Forgery?
- 36:12Strict Provenance!!!
- 39:48Avoid Transcendence (Conveniences!)
related talks
28mDetecting Borrow and Provenance Bugs Across Unsafe Rust [...]
15mNon-binary Rust: Between Safe and Unsafe
18mAliasing Limits on Translating C to Safe Rust
19mCounterexamples in Safe Rust
32mBeyond the &: A Future for Native Smart Pointers in Rust
30mEnsuring Rust Safety: Strategies for Managing Unsafe Rust
58mRust for The Curious C++ Developers
36mBuilding on an unsafe foundation
