Back to CVE records
High 7.1Published Sep 11, 2025

CVE-2025-39744rcu: Fix rcu_read_unlock() deadloop due to IRQ work

Updated under an hour ago ()

Does this affect you?

It affects Linux and 1 other product. Add what you run to find out whether that includes you.

No exploitation reported and no EPSS estimate yet.

In the Linux kernel, the following vulnerability has been resolved: rcu: Fix rcu_read_unlock() deadloop due to IRQ work During rcu_read_unlock_special(), if this happens during irq_exit(), we can lockup if an IPI is issued. This is because the IPI itself triggers the irq_exit() path causing a recursive lock up. This is precisely what Xiongfeng found when invoking a BPF program on the trace_tick_stop() tracepoint As shown in the trace below. Fix by managing the irq_work state correctly. irq_exit() __irq_exit_rcu() /* in_hardirq() returns false after this */ preempt_count_sub(HARDIRQ_OFFSET) tick_irq_exit() tick_nohz_irq_exit() tick_nohz_stop_sched_tick() trace_tick_stop() /* a bpf prog is hooked on this trace point */ __bpf_trace_tick_stop() bpf_trace_run2() rcu_read_unlock_special() /* will send a IPI to itself */ irq_work_queue_on(&rdp->defer_qs_iw, rdp->cpu); A simple reproducer can also be obtained by doing the following in tick_irq_exit(). It will hang on boot without the patch: static inline void tick_irq_exit(void) { + rcu_read_lock(); + WRITE_ONCE(current->rcu_read_unlock_special.b.need_qs, true); + rcu_read_unlock(); + [neeraj: Apply Frederic's suggested fix for PREEMPT_RT]

CVSS
7.1 HIGH (v3.1, NVD)CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
Weakness (CWE)
Not given
Known exploited
Not in CISA's KEV catalog
EPSS (exploitation in the next 30 days)
Not loaded for this CVE
Assigned by
Linux
NVD analysis
Analyzed
Record last updated
May 11, 2026
First seen by InfoSec Signals
Oct 19, 2026

Affected products

Affected products
Linux Linux
linux:linux (from the name)
from 0864f057b050bc6dd68106b3185e02db5140012d before e7a375453cca2b8a0d2fa1b82b913f3fed7c0507; 0864f057b050bc6dd68106b3185e02db5140012d builds before 1cfa244f7198d325594e627574930b7b91df5bfe; from 0864f057b050bc6dd68106b3185e02db5140012d before ddebb2a7677673cf4438a04e1a48b8ed6b0c8e9a; 0864f057b050bc6dd68106b3185e02db5140012d builds before 56c5ef194f4509df63fc0f7a91ea5973ce479b1e; from 0864f057b050bc6dd68106b3185e02db5140012d before b41642c87716bbd09797b1e4ea7d904f06c39b7b
CNA record
linux linux_kernel
linux:linux_kernel
before 6.6.103; from 6.7 before 6.12.43; from 6.13 before 6.15.11; from 6.16 before 6.16.2
NVD

References

  • patch
  • patch
  • patch
  • patch
  • patch

The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.

Your cookie choices
We use essential cookies to run this site, and, only with your consent, an advertising cookie from Google to measure whether our ads lead to sign-ups and subscriptions. See our for details.