Identifying Linux Kernel Instability Due to Poor RCU Synchronization
Oisin O Sullivan, Colin Flanagan, Eoin O Connell

TL;DR
This paper investigates how improper RCU synchronization in the Linux kernel, especially in ICE network drivers, causes instability, memory fragmentation, and potential security vulnerabilities, emphasizing the need for explicit synchronize_rcu() calls.
Contribution
It identifies a specific driver-level synchronization issue in Linux kernel RCU hash tables and proposes best practices to prevent kernel instability and memory leaks.
Findings
Improper RCU synchronization leads to stale entries and memory fragmentation.
Removing VF entries without proper sync causes delayed memory reclamation.
Explicit synchronize_rcu() calls improve kernel stability and safety.
Abstract
Read-Copy-Update (RCU) is widely used in the Linux kernel to manage concurrent access to shared data structures.However, improper synchronization when removing RCU protected hash table entries can lead to stale pointers, inconsistent lookups, and critical use after free (UAF) vulnerabilities. This paper investigates a driver-level synchronization issue arising from the omission of explicit synchronize_rcu() calls during hash table updates, using a discovered weakness in the Intel ICE network drivers Virtual Function (VF) management. Previous kernel vulnerabilities, such as a bug in the Reliable Datagram Sockets (RDS) subsystem, show how improper RCU synchronization can directly cause kernel crashes. Experimental results demonstrate that removing VF entries without proper synchronization leaves transient stale entries, delays memory reclamation, and results in significant memory…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Distributed systems and fault tolerance · Advanced Data Storage Technologies
