SafeRace: Assessing and Addressing WebGPU Memory Safety in the Presence of Data Races
summary
Identifies a WGSL specification gap where data races let downstream GPU compilers legally remove bounds clamps, enabling out‑of‑bounds accesses; implements a compiler pass enforcing race-free slice constraints and proposes an IR rule called race interference as part of the SafeRace Memory Safety Guarantee. Evaluates on 10 real benchmarks (only 2 show runtime overhead), fuzzes 81 hours across 21 compilation stacks (one stack shows violations, likely buggy), and reports real GPU isolation bugs to vendors (AMD CVE) and a Firefox miscompilation fix.
AI-written summary · about
chapters (11)
- 0:00SafeRace and WebGPU intro
- 1:50Research insights
- 2:32Memory safety in WebGPU
- 3:55Data races in spec
- 4:36SafeRace guarantee
- 6:18SMSG in WGSL compiler
- 9:49Approach feasibility
- 10:50Atomic translations performance
- 11:51Evaluating property two
- 12:11Summary and future
- 12:33Q&A
related talks
31mRace Conditions - Practical Tools & Techniques for Testing, Preventing, and Debugging C++/C Code
42mUnderstanding Data Races in the Linux Kernel
27mConstructing Domain-Specific Fuzzer for WebGPU Shader Compilers
34mDetecting Race Conditions on macOS
28mData Race Detection by Digest-Driven Abstract Interpretation
32mReasonably Secure GPU Acceleration
01h 06mmemory-safe C++
26mMemory Safety Preservation for WebAssembly
