Executive brief
A vulnerability exists in the Linux kernel's LiquidIO network driver that can lead to memory leaks. This driver is used to support certain high-performance network interface cards. If the system fails to initialize these network devices, it may fail to properly release memory, potentially leading to system instability or a denial-of-service over time.
Technical details
An off-by-one error exists in the 'setup_nic_devices()' function within the LiquidIO VF driver ('drivers/net/ethernet/cavium/liquidio/lio_vf_main.c'). When initialization fails, the code jumps to a cleanup label where a 'while(i--)' loop is used to free resources. Because the post-decrement operator is used, the loop skips the resource at the current index 'i' where the failure occurred, resulting in a memory leak. An attacker with local access could potentially exploit this to exhaust system memory by repeatedly triggering failed device setups. The fix replaces the loop with a 'do { ... } while (i--)' construct to ensure the failing index is included in the cleanup.
Affected products
- Linux Linux Kernel 4.10 to 5.10.250, 5.11 to 5.15.200, 5.16 to 6.1.163, 6.2 to 6.6.124, 6.7 to 6.12.70, 6.13 to 6.18.10
Timeline
- 2026-03-18: disclosed
- 2026-02-11: patched: Patch committed to stable tree.
- 2026-03-18: advisory
References
- https://git.kernel.org/stable/c/01fbca1e93ec3f39f76c31a8f9afa32ce00da48a
- https://git.kernel.org/stable/c/3bf519e39b51cb08a93c0599870b35a23db1031e
- https://git.kernel.org/stable/c/4640fa5ad5e1a0dbd1c2d22323b7d70a8107dcfd
- https://git.kernel.org/stable/c/52b19b3a22306fe452ec9e8ff96063f4bfb77b99
- https://git.kernel.org/stable/c/6cbba46934aefdfb5d171e0a95aec06c24f7ca30
- https://git.kernel.org/stable/c/71a56b89203ec7e5670d94a61a9b4ae617eca804
- https://git.kernel.org/stable/c/bd680e56e316be92c01568be98d85d7a6c9bd92c