A Comprehensive Study of Concurrency Bugs in the Linux Kernel
Sishuai Gong, Chih-En Lin, Kevin Wu, Edwin Lu, Pedro Fonseca
摘要
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.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper12
- Razzer: Finding Kernel Race Bugs through FuzzingDae R. Jeong, Kyungtae Kim, Basavesh Shivakumar, Byoungyoung Lee 等S&P 2019 · 被引用 202 次
- Krace: Data Race Fuzzing for Kernel File SystemsMeng Xu, Sanidhya Kashyap, Hanqing Zhao, Taesoo KimS&P 2020 · 被引用 131 次
- SHARD: Fine-Grained Kernel Specialization with Context-Aware HardeningMuhammad Abubakar, Adil Ahmad, Pedro Fonseca, Dongyan XuUSENIX Security 2021 · 被引用 47 次
- Snowboard: Finding Kernel Concurrency Bugs through Systematic Inter-thread Communication AnalysisSishuai Gong, Deniz Altinbüken, Pedro Fonseca, Petros ManiatisSOSP 2021 · 被引用 26 次
- Kard: lightweight data race detection with per-thread memory protectionAdil Ahmad, Sangho Lee, Pedro Fonseca, Byoungyoung LeeASPLOS 2021 · 被引用 17 次
相关 Paper
- Diagnosing Kernel Concurrency Failures with AITIADae R. Jeong, Minkyu Jung, Yoochan Lee, Byoungyoung Lee 等EuroSys 2023 · 被引用 3 次
- OZZ: Identifying Kernel Out-of-Order Concurrency Bugs with In-Vivo Memory Access ReorderingDae R. Jeong, Yewon Choi, Byoungyoung Lee, Insik Shin 等SOSP 2024 · 被引用 4 次
- CARDSHARK: Understanding and Stablizing Linux Kernel Concurrency Bugs Against the OddsTianshuo Han, Xiaorui Gong, Jian LiuUSENIX Security 2024 · 被引用 2 次
- Concurrency Fuzzing of the Linux Kernel with eBPFJiacheng Xu, Dylan Wolff, Xing Yi Han, Jialin Li 等USENIX Security 2026
- SegFuzz: Segmentizing Thread Interleaving to Discover Kernel Concurrency Bugs through FuzzingDae R. Jeong, Byoungyoung Lee, Insik Shin, Youngjin KwonS&P 2023
