[Review] One Simple API Can Cause Hundreds of Bugs: An Analysis of Refcounting Bugs in All Modern Linux Kernels
The paper mainly focuses on the reference counting(refcounting) bugs in Linux Kernel.
- Analyzes the history of 1,033 refcounting bugs in 753 versions of Linux Kernels from 2005 to 2022, and concludes 9 critical rules to check refcounting bugs.
- Designs a new tool applying these 9 rules, and detects 351 new bugs, of which 240 are confirmed.
Introduction
Reference counting bugs: the reference count is used to record the reference number of an object(similar to smart pointers in C++).
Potential risks: Memory leakage, UAF.