CVE-2026-68319
Received Received - Intake

Deadlock in Linux Kernel pds_core Driver

Vulnerability report for CVE-2026-68319, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-10

Last updated on: 2026-08-10

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: pds_core: fix deadlock between reset thread and remove pci_reset_function() acquires device_lock before performing the reset. pdsc_remove() is called by the PCI core with device_lock already held. If pdsc_pci_reset_thread() is running when pdsc_remove() is called, destroy_workqueue() will block waiting for the work to complete, while the work is blocked waiting for device_lock - deadlock. Use pci_try_reset_function() which uses pci_dev_trylock() internally. This acquires both the device lock and the PCI config access lock without blocking - if either lock is contended, it returns -EAGAIN immediately. This avoids the deadlock while also ensuring proper config space access serialization during the reset. The pci_dev_get/put calls are also removed as they were unnecessary - the driver-owned workqueue is destroyed in pdsc_remove(), guaranteeing the work completes before remove returns. The PCI core holds its reference to pci_dev throughout the entire unbind sequence.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-10
Last Modified
2026-08-10
Generated
2026-08-10
AI Q&A
2026-08-10
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is a deadlock issue in the Linux kernel related to PCI device reset and removal. The pds_core driver's reset thread and remove function both require the device lock, but in a conflicting order. When pdsc_remove() is called, it holds the device lock while waiting for the reset thread to finish. The reset thread, pdsc_pci_reset_thread(), waits for the device lock, creating a deadlock. The fix replaces pci_reset_function() with pci_try_reset_function() to avoid blocking and prevent the deadlock.

Detection Guidance

This vulnerability is specific to the Linux kernel's pds_core driver and involves a deadlock scenario during PCI device reset and removal. Detection requires checking for kernel logs or system hangs during PCI device unbind operations. Monitor for kernel messages indicating device reset failures or system stalls during driver unloading.

Impact Analysis

This vulnerability can cause system hangs or crashes during PCI device removal or reset operations. If the deadlock occurs, the affected system may become unresponsive, requiring a reboot to recover. It primarily affects systems using the pds_core driver with PCI devices, potentially leading to service disruptions or data loss in critical environments.

Mitigation Strategies

Apply the kernel patch that replaces pci_reset_function() with pci_try_reset_function() in the pds_core driver. Update to a kernel version containing this fix. If immediate patching is not possible, avoid unloading or resetting affected PCI devices while the system is under load.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-68319. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart