Executive brief
A vulnerability in the Linux kernel's RDMA (Remote Direct Memory Access) component can cause a system to become unresponsive. This occurs when the system handles a large number of timed-out network requests, leading to a 'soft lockup' where the processor becomes stuck. This can result in a complete denial of service for the affected server, impacting business operations and data availability.
Technical details
A vulnerability in the RDMA Management Datagram (MAD) agent of the Linux kernel arises from inefficient lock management in the timeout handler. The `timeout_sends` function repeatedly acquired and released the `mad_agent_priv` lock for every timed-out Work Request (WR), causing heavy locking contention and subsequent soft lockups (CPU stalls) when processing a high volume of WRs. This is particularly prevalent in environments using RDMA Connection Manager (rdma-cm) paths. The fix involves refactoring the handler to use a local list, allowing the lock to be acquired and released only once to fetch the list before processing. Patches have been released for multiple stable kernel branches including 5.10, 5.15, 6.1, 6.6, and 6.11.
Affected products
- Linux Linux Kernel up to 5.10.227, 5.11 to 5.15.168, 5.16 to 6.1.113, 6.2 to 6.6.57, 6.7 to 6.11.4
Timeline
- 2024-07-22: patched: Initial patch submitted by Broadcom
- 2024-11-05: disclosed: CVE published
References
- https://git.kernel.org/stable/c/2a777679b8ccd09a9a65ea0716ef10365179caac
- https://git.kernel.org/stable/c/3e799fa463508abe7a738ce5d0f62a8dfd05262a
- https://git.kernel.org/stable/c/7022a517bf1ca37ef5a474365bcc5eafd345a13a
- https://git.kernel.org/stable/c/713adaf0ecfc49405f6e5d9e409d984f628de818
- https://git.kernel.org/stable/c/a195a42dd25ca4f12489687065d00be64939409f
- https://git.kernel.org/stable/c/e80eadb3604a92d2d086e956b8b2692b699d4d0a
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html