CVE-2026-43468
Deadlock in Linux Kernel MLX5 Driver
Publication date: 2026-05-08
Last updated on: 2026-05-08
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| mlx | linux_kernel | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability involves a deadlock in the Linux kernel's mlx5 network driver, specifically between the devlink lock and the eswitch work queue (wq). The deadlock occurs when the esw->work_queue executes certain event handlers that acquire the devlink lock, while at the same time, other functions that also acquire the devlink lock attempt to flush the workqueue, causing a deadlock situation.
The fix avoids flushing the workqueue to prevent the deadlock and introduces a generation counter to track the relevance of work items. This counter helps ensure that old handlers do not operate on an eswitch that has changed modes. The fix also includes disabling and cleaning up work items and notifications properly to maintain system stability.
How can this vulnerability impact me? :
This deadlock vulnerability can cause the affected Linux kernel system to hang or become unresponsive when the mlx5 network driver's eswitch work queue and devlink lock interact improperly. This can lead to degraded network performance or system instability, potentially impacting services relying on the network functionality provided by the mlx5 driver.
What immediate steps should I take to mitigate this vulnerability?
This vulnerability has been resolved by changes in the Linux kernel's mlx5 driver related to the handling of the devlink lock and eswitch workqueue to avoid deadlocks.
To mitigate this vulnerability immediately, you should update your Linux kernel to a version that includes the fix for this issue.
The fix involves avoiding flushing the workqueue to prevent deadlocks and using a generation counter to track work relevance, ensuring that old handlers do not manipulate eswitch states incorrectly.