Executive brief
A vulnerability was identified in the Linux kernel's RDMA (Remote Direct Memory Access) driver for HiSilicon hardware. The issue involves improper internal locking mechanisms which could lead to system instability or a crash. This affects systems using specific high-performance networking hardware, potentially impacting service availability.
Technical details
A locking vulnerability (CWE-667) exists in the hns RoCE driver within the Linux kernel. The root cause is the misuse of spin_lock_irq() and spin_unlock_irq() while a spin_lock_irqsave() lock is already held in the hns_roce_qp.c component. This results in spin_unlock_irqrestore() being called while interrupts are already enabled, which triggers kernel warnings and can lead to unpredictable system behavior or a kernel panic. An attacker with local access could potentially exploit this to cause a denial of service. Patches have been released across multiple stable kernel branches to replace the incorrect IRQ-disabling locks with standard spinlocks.
Affected products
- Linux Linux Kernel 4.9 to 5.10.227, 5.11 to 5.15.168, 5.16 to 6.1.113, 6.2 to 6.6.54, 6.7 to 6.10.13, 6.11 to 6.11.2
Timeline
- 2024-10-21: advisory: Initial NVD publication
- 2024-10-17: patched: Fix committed to Linux stable tree
References
- https://git.kernel.org/stable/c/07f0f643d7e570dbe8ef6f5c3367a43e3086a335
- https://git.kernel.org/stable/c/094a1821903f33fb91de4b71087773ee16aeb3a0
- https://git.kernel.org/stable/c/2656336a84fcb6802f6e6c233f4661891deea24f
- https://git.kernel.org/stable/c/29c0f546d3fd66238b42cf25bcd5f193bb1cf794
- https://git.kernel.org/stable/c/425589d4af09c49574bd71ac31f811362a5126c3
- https://git.kernel.org/stable/c/74d315b5af180220d561684d15897730135733a6
- https://git.kernel.org/stable/c/a1a3403bb1826c8ec787f0d60c3e7b54f419129e