Database/Firmware, BMC & network fabric
Linux kernel (drivers/net/ethernet/mellanox/mlx5/core): When the driver runs out of firmware command slots, the work
Impact
When the driver runs out of firmware command slots, the work handler bails out without signalling the waiting task, so that task blocks forever. The mlx5 command interface is the single control path for the NIC, so one wedged caller cascades into hung kernel workers and a NIC whose queues, RDMA objects and interrupt moderation can no longer be reconfigured - a fabric stall for every tenant on the node, cleared only by reboot.
Who can reach it
Requires exhausting the mlx5 firmware command index pool, which a tenant can drive from inside a container holding /dev/infiniband/uverbs* (each verbs/DEVX object creation issues a firmware command) or from a VF assigned into a tenant VM. No host privilege and no fabric access needed; the only precondition is enough concurrent command pressure to make cmd_alloc_index() fail.
What to do
Update to 6.1.125 / 6.6.72 or later on those stable branches, or to 6.9/6.10 and later mainline. Interim controls: rate-limit or cap per-tenant RDMA resource creation, and drop /dev/infiniband/* from containers that do not need verbs.
References
Related entries
- Linux kernel (drivers/net/ethernet/mellanox/mlx5/core): The async firmware-command context can be freed while aCVE-2022-50726 · Linux kernel (drivers/net/ethernet/mellanox/mlx5/core)High
- Linux kernel (drivers/net/ethernet/mellanox/mlx5/core): A userspace DEVX consumer can issue a firmware command opcodeCVE-2023-53340 · Linux kernel (drivers/net/ethernet/mellanox/mlx5/core)High
- Linux kernel (drivers/net/ethernet/mellanox/mlx5/core): When a regular receive queue is reactivated after an AF_XDPCVE-2023-53394 · Linux kernel (drivers/net/ethernet/mellanox/mlx5/core)High
- Linux kernel (drivers/net/ethernet/mellanox/mlx5/core): Adding a TC flower rule while the device is in NIC mode makesCVE-2023-54216 · Linux kernel (drivers/net/ethernet/mellanox/mlx5/core)High
- Linux kernel (drivers/net/ethernet/mellanox/mlx5/core): A command that waits on the busy command-queue semaphore startsCVE-2024-38556 · Linux kernel (drivers/net/ethernet/mellanox/mlx5/core)High
- Linux kernel (drivers/net/ethernet/mellanox/mlx5/core): When a DMA mapping fails on the multi-packet transmit path, theCVE-2024-50001 · Linux kernel (drivers/net/ethernet/mellanox/mlx5/core)High
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.