CVE-2025-40329
BaseFortify
Publication date: 2025-12-09
Last updated on: 2025-12-09
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | kernel | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is a deadlock issue in the Linux kernel's DRM scheduler component. It occurs when two CPUs try to acquire locks in an interrupt-unsafe manner, specifically involving the xa_lock and fence.lock spinlocks. CPU0 holds the xa_lock while accessing job dependencies without disabling interrupts, and CPU1, running in an interrupt context, tries to acquire the same lock, causing a deadlock. Additionally, a nested locking scenario involving dma_fence_signal and dma_fence_add_callback can cause deadlocks if they share the same spinlock. The fix involved moving the code that iterates over dependencies and re-arms them out of the interrupt context to avoid these deadlocks.
How can this vulnerability impact me? :
This vulnerability can cause the Linux kernel to deadlock during DRM scheduler operations, potentially leading to system hangs or crashes when handling graphics job dependencies. This can degrade system stability and responsiveness, especially in environments relying on graphics processing, and may require a reboot to recover.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by monitoring the system logs for messages indicating a possible deadlock related to drm_sched_entity_kill_jobs_cb and xa_lock usage. Specifically, look for kernel log entries similar to: '[ 1231.611031] Possible interrupt unsafe locking scenario:' and '*** DEADLOCK ***'. You can use the command 'dmesg | grep drm_sched_entity_kill_jobs_cb' or 'journalctl -k | grep drm_sched_entity_kill_jobs_cb' to search for these deadlock messages in the kernel logs.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation involves updating the Linux kernel to a version where the drm_sched_entity_kill_jobs_cb deadlock issue is fixed. The fix includes replacing all xa_* usage with their xa_*_irq counterparts and moving the code iterating on dependencies to drm_sched_entity_kill_jobs_work(). Until an update is applied, monitoring for deadlock symptoms and avoiding workloads that trigger this specific drm_sched deadlock scenario may help reduce risk.