CVE-2025-40329
Last modified
CVE-2025-40329 is a vulnerability of currently unknown severity. In the Linux kernel, the following vulnerability has been resolved: drm/sched: Fix deadlock in drm_sched_entity_kill_jobs_cb The Mesa issue referenced below pointed out a possible deadlock: [ 1231.611031] Possible interrupt unsafe locking scenario: [ 1231.611033] CPU0 CPU1 [ 1231.611034] ---- ---- [ 1231.611035] lock(&xa->xa_lock#17); [ 1231.611038] local_irq_disable(); [ 1231.611039] lock(&fence->lock); [ 1231.611041] lock(&xa->xa_lock#17); [ 1231.611044] <Interrupt> [ 1231.611045] lock(&fence->lock); [ 1231.611047] *** DEADLOCK *** In this example, CPU0 would be any function accessing job->dependencies through the xa_* functions that don't disable interrupts (eg: drm_sched_job_add_dependency(), drm_sched_entity_kill_jobs_cb()). CPU1 is executing drm_sched_entity_kill_jobs_cb() as a fence signalling callback so in an interrupt context. It will deadlock when trying to grab the xa_lock which is already held by CPU0. Replacing all xa_* usage by their xa_*_irq counterparts would fix this issue, but Christian pointed out another issue: dma_fence_signal takes fence.lock and so does dma_fence_add_callback. dma_fence_signal() // locks f1.lock -> drm_sched_entity_kill_jobs_cb() -> foreach dependencies -> dma_fence_add_callback() // locks f2.lock This will deadlock if f1 and f2 share the same spinlock. To fix both issues, the code iterating on dependencies and re-arming them is moved out to drm_sched_entity_kill_jobs_work(). [phasta: commit message nits]. EPSS estimates a 0.19% chance of exploitation in the next 30 days.
Description
In the Linux kernel, the following vulnerability has been resolved: drm/sched: Fix deadlock in drm_sched_entity_kill_jobs_cb The Mesa issue referenced below pointed out a possible deadlock: [ 1231.611031] Possible interrupt unsafe locking scenario: [ 1231.611033] CPU0 CPU1 [ 1231.611034] ---- ---- [ 1231.611035] lock(&xa->xa_lock#17); [ 1231.611038] local_irq_disable(); [ 1231.611039] lock(&fence->lock); [ 1231.611041] lock(&xa->xa_lock#17); [ 1231.611044] <Interrupt> [ 1231.611045] lock(&fence->lock); [ 1231.611047] *** DEADLOCK *** In this example, CPU0 would be any function accessing job->dependencies through the xa_* functions that don't disable interrupts (eg: drm_sched_job_add_dependency(), drm_sched_entity_kill_jobs_cb()). CPU1 is executing drm_sched_entity_kill_jobs_cb() as a fence signalling callback so in an interrupt context. It will deadlock when trying to grab the xa_lock which is already held by CPU0. Replacing all xa_* usage by their xa_*_irq counterparts would fix this issue, but Christian pointed out another issue: dma_fence_signal takes fence.lock and so does dma_fence_add_callback. dma_fence_signal() // locks f1.lock -> drm_sched_entity_kill_jobs_cb() -> foreach dependencies -> dma_fence_add_callback() // locks f2.lock This will deadlock if f1 and f2 share the same spinlock. To fix both issues, the code iterating on dependencies and re-arming them is moved out to drm_sched_entity_kill_jobs_work(). [phasta: commit message nits]
Metrics
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 2fdb8a8f07c2f1353770a324fd19b8114e4329ac, < 70150b9443dddf02157d821c68abf438f55a2e8e; >= 2fdb8a8f07c2f1353770a324fd19b8114e4329ac, < 0d63031ee4a57be0252cb9a4e09ae921c75cece9; >= 2fdb8a8f07c2f1353770a324fd19b8114e4329ac, < 3e8ada4fd838e3fd2cca94000dac054f3a347c01; >= 2fdb8a8f07c2f1353770a324fd19b8114e4329ac, < 487df8b698345dd5a91346335f05170ed5f29d4e |
| Linux | Linux | 6.2 |
References
Timeline
- Published
- Last Modified
- Status
- Deferred
Frequently Asked Questions
What is CVE-2025-40329?
How severe is CVE-2025-40329?
How do I fix CVE-2025-40329?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2025
- CVE-2025-40323In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2025-40324In the Linux kernel, the following vulnerability has been re…7.5
- CVE-2025-40325In the Linux kernel, the following vulnerability has been re…5.5
- CVE-2025-40326In the Linux kernel, the following vulnerability has been re…7.5
- CVE-2025-40327In the Linux kernel, the following vulnerability has been re…
- CVE-2025-40328In the Linux kernel, the following vulnerability has been re…8.8
- CVE-2025-4033A vulnerability classified as critical has been found in PHP…9.8
- CVE-2025-40330In the Linux kernel, the following vulnerability has been re…
- CVE-2025-40331In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2025-40332In the Linux kernel, the following vulnerability has been re…
- CVE-2025-40333In the Linux kernel, the following vulnerability has been re…
- CVE-2025-40334In the Linux kernel, the following vulnerability has been re…7.3
Are you affected by CVE-2025-40329?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
