A Comprehensive Study of Concurrency Bugs in the Linux Kernel
Sishuai Gong, Chih-En Lin, Kevin Wu, Edwin Lu, Pedro Fonseca
Abstract
Concurrency bugs arise from unexpected orderings of concurrent instructions and are notoriously difficult to detect and diagnose due to their non-deterministic nature. Prior studies of concurrency bugs in user-space applications have identified common bug characteristics and informed the design of effective detection, diagnosis, and repair techniques. In contrast, far less is known about concurrency bugs in operating system kernels, where low-level systems programming and complex execution patterns introduce fundamentally different concurrent execution behaviors.
This paper presents the first comprehensive study of concurrency bugs in the Linux kernel. We analyze 200 real-world kernel concurrency bugs and systematically characterize their manifestation conditions, root causes, discovery processes, and repair characteristics. Our study reveals that kernel concurrency bugs differ substantially from their user-space counterparts. For instance, 27.5% of kernel concurrency bugs manifest only when specific interrupt events occur, yet such bugs are often overlooked by existing bug discovery approaches. Moreover, nearly half of the bugs occur in kernel drivers, and 69.3% of them stem from concurrent device operations on control paths such as device registration and deregistration, highlighting driver control logic as a critical target for concurrency bug discovery. Overall, our findings expose key limitations in current approaches to kernel concurrency bug detection and analysis. By shedding light on these challenges, this work paves the way for new operating system designs, testing tools, and verification efforts that will make modern operating systems more reliable and secure.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 408aaddd-ce29-45e0-b810-899f4fd6613fBuilds on12
- Razzer: Finding Kernel Race Bugs through FuzzingDae R. Jeong, Kyungtae Kim, Basavesh Shivakumar, Byoungyoung Lee et al.S&P 2019 · 202 citations
- Krace: Data Race Fuzzing for Kernel File SystemsMeng Xu, Sanidhya Kashyap, Hanqing Zhao, Taesoo KimS&P 2020 · 131 citations
- SHARD: Fine-Grained Kernel Specialization with Context-Aware HardeningMuhammad Abubakar, Adil Ahmad, Pedro Fonseca, Dongyan XuUSENIX Security 2021 · 47 citations
- Snowboard: Finding Kernel Concurrency Bugs through Systematic Inter-thread Communication AnalysisSishuai Gong, Deniz Altinbüken, Pedro Fonseca, Petros ManiatisSOSP 2021 · 26 citations
- Kard: lightweight data race detection with per-thread memory protectionAdil Ahmad, Sangho Lee, Pedro Fonseca, Byoungyoung LeeASPLOS 2021 · 17 citations
Related papers
- Diagnosing Kernel Concurrency Failures with AITIADae R. Jeong, Minkyu Jung, Yoochan Lee, Byoungyoung Lee et al.EuroSys 2023 · 3 citations
- OZZ: Identifying Kernel Out-of-Order Concurrency Bugs with In-Vivo Memory Access ReorderingDae R. Jeong, Yewon Choi, Byoungyoung Lee, Insik Shin et al.SOSP 2024 · 4 citations
- CARDSHARK: Understanding and Stablizing Linux Kernel Concurrency Bugs Against the OddsTianshuo Han, Xiaorui Gong, Jian LiuUSENIX Security 2024 · 2 citations
- Concurrency Fuzzing of the Linux Kernel with eBPFJiacheng Xu, Dylan Wolff, Xing Yi Han, Jialin Li et al.USENIX Security 2026
- SegFuzz: Segmentizing Thread Interleaving to Discover Kernel Concurrency Bugs through FuzzingDae R. Jeong, Byoungyoung Lee, Insik Shin, Youngjin KwonS&P 2023
