Главная
Study mode:
on
1
Intro
2
Memory unsafety
3
49% - Chrome
4
72% - Firefox
5
70% - Microsoft
6
65% - Ubuntu
7
65% - Android
8
225 - Syzkaller
9
UAF Static Analysis
10
Hardening C
11
Isolation
12
What do we want out of our language?
13
A whirlwind tour of Rust, focusing on safety
14
Hello world!
15
Uninitialized variables
16
Structs
17
Traits
18
Generics and polymorphism
19
Trait objects and runtime polymorphism
20
Enums with data
21
Option and Result
22
Error handling
23
Panics and unwinding
24
Dangling references
25
Mutable references are unique references
26
Atomics
27
Safe and unsafe Rust
28
Compiling
29
Bindings
30
Mapping kernel APIs to Safe Rust
31
Heap allocations just work
32
What about _user pointers?
33
Concurrency!
34
FileOperations must be Sync!
35
Architecture support
36
Real world out-of-tree module usage?
37
Better kbuild integration
Description:
Explore the potential of using Rust for Linux kernel development in this 48-minute conference talk by Geoffrey Thomas and Alex Gaynor. Delve into the challenges of creating binary-compatible kernel modules in Rust, techniques for interfacing with existing C code, and strategies for designing safe bindings over raw kernel APIs. Learn about the advantages and difficulties of integrating Rust into upstream kernel development, and discover possible future directions for the kernel community. Gain insights into memory safety issues in kernel vulnerabilities and understand how Rust's safety features can address these concerns. Examine topics such as uninitialized variables, structs, traits, generics, error handling, and concurrency in the context of kernel module development. Investigate the practical aspects of compiling, binding, and mapping kernel APIs to Safe Rust, as well as real-world applications for out-of-tree module usage and improved kbuild integration.

Writing Linux Kernel Modules in Safe Rust

Linux Foundation
Add to list
0:00 / 0:00