CVE-2026-68319: pds_core: fix deadlock between reset thread and remove
In the Linux kernel, the following vulnerability has been resolved:
pdscore: fix deadlock between reset thread and remove
pciresetfunction() acquires devicelock before performing the reset. pdscremove() is called by the PCI core with devicelock already held. If pdscpciresetthread() is running when pdscremove() is called, destroyworkqueue() will block waiting for the work to complete, while the work is blocked waiting for devicelock - deadlock.
Use pcitryresetfunction() which uses pcidevtrylock() 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 pcidevget/put calls are also removed as they were unnecessary - the driver-owned workqueue is destroyed in pdscremove(), guaranteeing the work completes before remove returns. The PCI core holds its reference to pcidev throughout the entire unbind sequence.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-68319?
CVE-2026-68319 has a risk rating of 11, indicating a critical severity level.
What does CVE-2026-68319 involve?
CVE-2026-68319 addresses a deadlock issue between the reset thread and the removal process in the Linux kernel's pds_core.
How do I fix CVE-2026-68319?
To fix CVE-2026-68319, update your Linux kernel to a version that includes the patch for this vulnerability.
Who is affected by CVE-2026-68319?
CVE-2026-68319 affects Linux kernel users who utilize the pds_core component.
When was CVE-2026-68319 published?
CVE-2026-68319 was published on August 10, 2026.