Overview
Syllabus
Intro
Memory unsafety
49% - Chrome
72% - Firefox
70% - Microsoft
65% - Ubuntu
65% - Android
225 - Syzkaller
UAF Static Analysis
Hardening C
Isolation
What do we want out of our language?
A whirlwind tour of Rust, focusing on safety
Hello world!
Uninitialized variables
Structs
Traits
Generics and polymorphism
Trait objects and runtime polymorphism
Enums with data
Option and Result
Error handling
Panics and unwinding
Dangling references
Mutable references are unique references
Atomics
Safe and unsafe Rust
Compiling
Bindings
Mapping kernel APIs to Safe Rust
Heap allocations just work
What about _user pointers?
Concurrency!
FileOperations must be Sync!
Architecture support
Real world out-of-tree module usage?
Better kbuild integration
Taught by
Linux Foundation