CVE-2025-68333
Unknown Unknown - Not Provided
Deadlock Vulnerability in Linux Kernel sched_ext Deferred IRQ Workfn

Publication date: 2025-12-22

Last updated on: 2026-02-26

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: sched_ext: Fix possible deadlock in the deferred_irq_workfn() For PREEMPT_RT=y kernels, the deferred_irq_workfn() is executed in the per-cpu irq_work/* task context and not disable-irq, if the rq returned by container_of() is current CPU's rq, the following scenarios may occur: lock(&rq->__lock); <Interrupt> lock(&rq->__lock); This commit use IRQ_WORK_INIT_HARD() to replace init_irq_work() to initialize rq->scx.deferred_irq_work, make the deferred_irq_workfn() is always invoked in hard-irq context.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-12-22
Last Modified
2026-02-26
Generated
2026-05-07
AI Q&A
2025-12-23
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 8 associated CPEs
Vendor Product Version / Range
linux linux_kernel 6.18
linux linux_kernel 6.18
linux linux_kernel 6.18
linux linux_kernel 6.18
linux linux_kernel 6.18
linux linux_kernel 6.18
linux linux_kernel From 6.12 (inc) to 6.12.68 (exc)
linux linux_kernel From 6.13 (inc) to 6.17.12 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-667 The product does not properly acquire or release a lock on a resource, leading to unexpected resource state changes and behaviors.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability is a possible deadlock in the Linux kernel's deferred_irq_workfn() function when running PREEMPT_RT=y kernels. The issue arises because deferred_irq_workfn() is executed in the per-CPU irq_work task context rather than a hard interrupt context. If the runqueue (rq) returned by container_of() corresponds to the current CPU's rq, a scenario can occur where the rq lock is acquired, an interrupt happens, and then the same rq lock is attempted to be acquired again, causing a deadlock. The fix replaces init_irq_work() with IRQ_WORK_INIT_HARD() to ensure deferred_irq_workfn() always runs in hard-irq context, preventing this deadlock.


How can this vulnerability impact me? :

This vulnerability can cause a deadlock in the Linux kernel on systems using PREEMPT_RT=y kernels, potentially leading to system hangs or degraded performance due to the kernel being stuck waiting for a lock that cannot be acquired. This can affect system stability and responsiveness.


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, update your Linux kernel to a version that includes the fix for the deferred_irq_workfn() deadlock issue. The fix involves using IRQ_WORK_INIT_HARD() to initialize rq->scx.deferred_irq_work, ensuring the deferred_irq_workfn() is always invoked in hard-irq context. Applying the latest kernel patches or upgrading to the fixed kernel version is recommended.


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