Executive brief
The Linux kernel's RDMA (Remote Direct Memory Access) subsystem contains a memory leak in the code that manages Memory Region (MR) resource tracking. When a Memory Region is deleted, its resource tracking structure was not being properly released, preventing the associated task structure from being freed. This causes kernel memory to accumulate over time, potentially exhausting available memory and degrading system performance.
Technical details
The vulnerability is a memory leak in the RDMA restrack (resource tracking) subsystem, specifically in the rdma_restrack_del() function in drivers/infiniband/core/restrack.c. The code contained an early return statement for RDMA_RESTRACK_MR (Memory Region) types that bypassed the normal resource cleanup path, preventing the release of reference counts on task structures. The fix removes the early return, ensuring all Memory Region resources are properly dereferenced when deleted. The vulnerability affects all kernel versions containing the vulnerable code path from the original introduction of reference tracking through early 2023. The patch is available in Linux kernel stable trees.
Affected products
- Linux Linux kernel Multiple kernel versions from 13ef5539def7 onwards until patched in 2022
Timeline
- 2025-12-30: disclosed: Public disclosure via NVD
- 2022-11-07: patched: Upstream fix committed by Mark Zhang