"Safety in an Unsafe World"
summary
Netstack3 is a pure‑Rust networking stack spanning 192,000 lines of code across 63 crates and dogfoods on ~60 devices for 11 months, yet uncovers only three bugs in eleven months. The talk argues for “X‑safety”: encode arbitrary safety properties in types—examples include reifying thread safety with an `unsafe` Send trait tied to an external `pthread_create`, and a lock‑ordering scheme with 77 mutexes and type-level LockBefore/LockAfter plus a macro that makes cyclic orders fail to compile, enabling a threads‑from‑1→4 flip without runtime bugs.
AI-written summary · about
chapters (7)
- 0:00Welcome
- 2:13Netstack3 dogfooding
- 7:52Safety invariants
- 10:51Thread safety as abstraction
- 16:44Deadlock prevention in Netstack3
- 24:35Building safe APIs
- 27:11Future of safety
related talks
45mBuilding Safe and Secure Systems in Rust
30mEnsuring Rust Safety: Strategies for Managing Unsafe Rust
34mMove fast and don't break things: High-performance networking in Rust
40mWhat's up with Rust?
23mRust in Edge Computing: Enhance Performance & Security
46mPanel: Rust in Safety Critical
15mNon-binary Rust: Between Safe and Unsafe
19mCounterexamples in Safe Rust
