Object Lifetime Issues - a Threat for Safety?
summary
Research shows longstanding object lifetime bugs in kernel subsystems cause real failures: a reproduced MTD crash in QEMU (kernel 6.7-rc4) and blocking I2C cases demonstrate a process can crash or deadlock when providers are removed while consumers still hold refs. A test harness called the Linux life cycle issue test suite (Avocado + Buildroot, planned kselftest conversion) exercises these scenarios. Proposed fixes use an RCU/SRCU wrapper around providers; patches target I2C and gpiolib, work is partial and will take years and funding.
AI-written summary · about
chapters (9)
- 0:00Object lifetime issues in Linux
- 2:10Object lifetime problem overview
- 6:28Lifetime-related crash demo
- 9:45Safety certification impact
- 12:33Defensive safety limitations
- 16:29Reboot race corner cases
- 18:39Lifecycle test suite
- 25:21Solutions and ongoing work
- 29:40Conclusion
related talks
40mBoF: Object Life-Time Handling in Driver Subsystems
47mSubsystems with Object Lifetime Issues (in the Embedded Case)
53mImproving resource ownership and life-time in linux device drivers
36mRISC-V Bug Hunting
36mLinux Kernel Developer Panel
44mWhy is devm_kzalloc() harmful and what can we do about it
19mKeynote: MDS, Fallout, Zombieland, and Linux
41mChallenges Around Long-Term Kernel Maintenance
