CVE-2025-68310
BaseFortify
Publication date: 2025-12-16
Last updated on: 2025-12-18
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| mlx5 | mlx5_core | * |
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 situation in the Linux kernel on the s390 architecture between PCI error recovery and the mlx5 core driver's crash dump (crdump) process. Specifically, during PCI error recovery, the code blocks PCI configuration accesses using pci_cfg_access_lock(), which can cause tasks related to mlx5 health recovery and error reporting to hang indefinitely. The deadlock occurs because mlx5_unload_one() tries to acquire a devlink lock while PCI error recovery has blocked config access, and simultaneously mlx5_crdump_collect() tries to set block_cfg_access while devlink_health_report() holds the devlink lock. This results in tasks being blocked for extended periods, causing system instability. The fix avoids blocking PCI config accesses by acquiring a less restrictive lock (device_lock() instead of pci_dev_lock()) during error recovery on s390, preventing the deadlock.
How can this vulnerability impact me? :
This vulnerability can cause system tasks related to PCI error recovery and mlx5 device health reporting to become hung or blocked for extended periods, leading to potential system instability or degraded performance. Specifically, it can cause deadlocks that prevent proper error recovery and health reporting for mlx5 devices, which may impact the reliability and availability of systems using these devices on the s390 architecture.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by observing hung tasks related to mlx5_core and PCI error recovery in the kernel logs. Specifically, look for messages indicating tasks blocked for more than 122 seconds, such as 'task kmcheck blocked' or 'task kworker blocked', and call traces involving mlx5_health_try_recover, mlx5_unload_one, mlx5_pci_err_detected, and pci_cfg_access_lock. Additionally, you can attempt to reproduce the deadlock by requesting a crdump with the command: devlink health dump show pci/<BDF> reporter fw_fatal, and on s390 systems, inject PCI error recovery with: zpcictl --reset-fw <BDF>.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation involves applying the patch that avoids blocking PCI config accesses through pci_cfg_access_lock() during s390 PCI error recovery by acquiring device_lock() instead of pci_dev_lock(). This prevents the deadlock between PCI error recovery and mlx5 crdump. Until patched, avoid triggering devlink health dump commands on affected devices during PCI error recovery, and monitor for hung tasks in kernel logs to detect deadlock conditions.