DLOS: Effective Static Detection of Deadlocks in OS Kernels
summary
DLOS is a static analysis tool that extracts lock-order constraints via a summary-based lock-usage analysis, detects cycles using a reachability-based comparison with indirect-locking constraints to avoid repeated work, and cuts false positives with two-dimensional filtering that checks code-path feasibility and concurrency. It runs over Linux kernels (evaluated on 4.9 and 5.10), finds 65 reported cycles in 5.10 of which 54 are real (17% false positives overall) and 31 have been confirmed.
AI-written summary · about
chapters (12)
- 0:00Intro
- 0:22Motivation
- 1:27State of the art
- 4:45Challenges of static kernel deadlock detect
- 5:35Key techniques
- 6:20Summary-based lock-usage analysis
- 8:59Reachability-based comparison method
- 12:41Two-dimensional filtering strategy
- 14:47Approach
- 15:13Evaluation
- 17:05Limitations
- 18:26Conclusion
related talks
15mWhat Lockdep Does and Doesn't
15mEffective Static Analysis of Concurrency Use-After-Free Bugs in Linux Device Drivers
35mRecursive Read Deadlocks and Where to Find Them
40mKernel Locking Engineering
13mLockify: Understanding Linux Distributed Lock Management Overheads in Shared Storage
35mRecursive Read Deadlocks and Where to Find Them
24mStatic Deadlock Detection for Go
46mStatus Report: Broken Dependency Orderings in the Linux Kernel
