CVE-2025-68203
Unknown Unknown - Not Provided
BaseFortify

Publication date: 2025-12-16

Last updated on: 2025-12-18

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: fix lock warning in amdgpu_userq_fence_driver_process Fix a potential deadlock caused by inconsistent spinlock usage between interrupt and process contexts in the userq fence driver. The issue occurs when amdgpu_userq_fence_driver_process() is called from both: - Interrupt context: gfx_v11_0_eop_irq() -> amdgpu_userq_fence_driver_process() - Process context: amdgpu_eviction_fence_suspend_worker() -> amdgpu_userq_fence_driver_force_completion() -> amdgpu_userq_fence_driver_process() In interrupt context, the spinlock was acquired without disabling interrupts, leaving it in {IN-HARDIRQ-W} state. When the same lock is acquired in process context, the kernel detects inconsistent locking since the process context acquisition would enable interrupts while holding a lock previously acquired in interrupt context. Kernel log shows: [ 4039.310790] inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage. [ 4039.310804] kworker/7:2/409 [HC0[0]:SC0[0]:HE1:SE1] takes: [ 4039.310818] ffff9284e1bed000 (&fence_drv->fence_list_lock){?...}-{3:3}, [ 4039.310993] {IN-HARDIRQ-W} state was registered at: [ 4039.311004] lock_acquire+0xc6/0x300 [ 4039.311018] _raw_spin_lock+0x39/0x80 [ 4039.311031] amdgpu_userq_fence_driver_process.part.0+0x30/0x180 [amdgpu] [ 4039.311146] amdgpu_userq_fence_driver_process+0x17/0x30 [amdgpu] [ 4039.311257] gfx_v11_0_eop_irq+0x132/0x170 [amdgpu] Fix by using spin_lock_irqsave()/spin_unlock_irqrestore() to properly manage interrupt state regardless of calling context. (cherry picked from commit ded3ad780cf97a04927773c4600823b84f7f3cc2)
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-12-16
Last Modified
2025-12-18
Generated
2026-05-07
AI Q&A
2025-12-16
EPSS Evaluated
2026-01-02
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
amdgpu amdgpu *
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability is a potential deadlock in the Linux kernel's amdgpu driver caused by inconsistent spinlock usage between interrupt and process contexts. Specifically, the function amdgpu_userq_fence_driver_process() is called from both interrupt context and process context, but the spinlock is acquired differently in these contexts. In interrupt context, the spinlock is acquired without disabling interrupts, leading to an {IN-HARDIRQ-W} state. When the same lock is acquired in process context, interrupts are enabled while holding the lock, causing inconsistent locking and potential deadlock. The fix involves using spin_lock_irqsave() and spin_unlock_irqrestore() to properly manage the interrupt state regardless of the calling context.


How can this vulnerability impact me? :

This vulnerability can cause a deadlock in the Linux kernel's amdgpu driver, potentially leading to system instability or crashes. Such deadlocks can halt GPU-related operations, degrade system performance, or cause the system to become unresponsive, impacting the reliability of systems using affected AMD GPU drivers.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by monitoring the kernel logs for specific lock warning messages indicating inconsistent spinlock usage. You can check the kernel log for messages like: "inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage." Use the command: dmesg | grep 'inconsistent {IN-HARDIRQ-W}' to find relevant warnings.


What immediate steps should I take to mitigate this vulnerability?

The immediate mitigation is to update the Linux kernel to a version that includes the fix for this issue, which uses spin_lock_irqsave()/spin_unlock_irqrestore() to properly manage interrupt state in the amdgpu_userq_fence_driver_process function, preventing the deadlock caused by inconsistent spinlock usage.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart