CVE-2026-23295: accel/amdxdna: Fix dead lock for suspend and resume
In the Linux kernel, the following vulnerability has been resolved:
accel/amdxdna: Fix dead lock for suspend and resume
When an application issues a query IOCTL while auto suspend is running, a deadlock can occur. The query path holds devlock and then calls pmruntimeresumeandget(), which waits for the ongoing suspend to complete. Meanwhile, the suspend callback attempts to acquire devlock and blocks, resulting in a deadlock.
Fix this by releasing devlock before calling pmruntimeresumeandget() and reacquiring it after the call completes. Also acquire devlock in the resume callback to keep the locking consistent.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Compensating control
In the accel/amdxdna query path, release dev_lock before calling pm_runtime_resume_and_get(), then reacquire dev_lock after pm_runtime_resume_and_get() completes to prevent deadlock with the suspend callback.
Event History
Frequently Asked Questions
Who is exposed to this deadlock?
Systems using the Linux kernel's accel/amdxdna driver are exposed when an application can issue its query IOCTL while runtime auto-suspend is in progress. Exploitation requires local access and low privileges.
What is the operational impact if the issue is triggered?
The query path and suspend callback can wait on each other indefinitely over dev_lock and runtime power management completion. This produces a deadlock and can cause a denial of service.
What should teams do if they cannot apply the patch immediately?
Avoid issuing the amdxdna query IOCTL during runtime auto-suspend activity where possible. The provided data does not identify another mitigation or workaround.