CVE-2025-39813
Description
In the Linux kernel, the following vulnerability has been resolved: ftrace: Fix potential warning in trace_printk_seq during ftrace_dump When calling ftrace_dump_one() concurrently with reading trace_pipe, a WARN_ON_ONCE() in trace_printk_seq() can be triggered due to a race condition. The issue occurs because: CPU0 (ftrace_dump) CPU1 (reader) echo z > /proc/sysrq-trigger !trace_empty(&iter) trace_iterator_reset(&iter) <- len = size = 0 cat /sys/kernel/tracing/trace_pipe trace_find_next_entry_inc(&iter) __find_next_entry ring_buffer_empty_cpu <- all empty return NULL trace_printk_seq(&iter.seq) WARN_ON_ONCE(s->seq.len >= s->seq.size) In the context between trace_empty() and trace_find_next_entry_inc() during ftrace_dump, the ring buffer data was consumed by other readers. This caused trace_find_next_entry_inc to return NULL, failing to populate `iter.seq`. At this point, due to the prior trace_iterator_reset, both `iter.seq.len` and `iter.seq.size` were set to 0. Since they are equal, the WARN_ON_ONCE condition is triggered. Move the trace_printk_seq() into the if block that checks to make sure the return value of trace_find_next_entry_inc() is non-NULL in ftrace_dump_one(), ensuring the 'iter.seq' is properly populated before subsequent operations.
How to fix
- linux linux_kernel5.4.298, 5.10.242, 5.15.191, 6.1.150, 6.6.104, 6.12.45, 6.16.5 or later
- git.kernel.org/stable/c/28c8fb7ae2ad27d81c8de3c4fe608c509f6a18aa
- git.kernel.org/stable/c/4013aef2ced9b756a410f50d12df9ebe6a883e4a
- git.kernel.org/stable/c/5ab0ec206deb99eb3baf8f1d7602aeaa91dbcc85
- git.kernel.org/stable/c/a6f0f8873cc30fd4543b09adf03f7f51d293f0e6
- git.kernel.org/stable/c/ced94e137e6cd5e79c65564841d3b7695d0f5fa3
- git.kernel.org/stable/c/e80ff23ba8bdb0f41a1afe2657078e4097d13a9a
- git.kernel.org/stable/c/f299353e7ccbcc5c2ed8993c48fbe7609cbe729a
- git.kernel.org/stable/c/fbd4cf7ee4db65ef36796769fe978e9eba6f0de4
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| linux linux_kernel | 2.6.28 ≤ v < 5.4.298, 5.5 ≤ v < 5.10.242, 5.11 ≤ v < 5.15.191, 5.16 ≤ v < 6.1.150, 6.2 ≤ v < 6.6.104, 6.7 ≤ v < 6.12.45, 6.13 ≤ v < 6.16.5, 6.17 | 5.4.298, 5.10.242, 5.15.191, 6.1.150, 6.6.104, 6.12.45, 6.16.5 |
| debian debian_linux | 11.0 | — |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.