# CVE-2025-38285: bpf: Fix WARN() in get_bpf_raw_tp_regs

Status: published. Published: 2025-07-10. Updated: 2026-11-05.

In the Linux kernel, the following vulnerability has been resolved:

bpf: Fix WARN() in get_bpf_raw_tp_regs

syzkaller reported an issue:

WARNING: CPU: 3 PID: 5971 at kernel/trace/bpf_trace.c:1861 get_bpf_raw_tp_regs+0xa4/0x100 kernel/trace/bpf_trace.c:1861
Modules linked in:
CPU: 3 UID: 0 PID: 5971 Comm: syz-executor205 Not tainted 6.15.0-rc5-syzkaller-00038-g707df3375124 #0 PREEMPT(full)
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
RIP: 0010:get_bpf_raw_tp_regs+0xa4/0x100 kernel/trace/bpf_trace.c:1861
RSP: 0018:ffffc90003636fa8 EFLAGS: 00010293
RAX: 0000000000000000 RBX: 0000000000000003 RCX: ffffffff81c6bc4c
RDX: ffff888032efc880 RSI: ffffffff81c6bc83 RDI: 0000000000000005
RBP: ffff88806a730860 R08: 0000000000000005 R09: 0000000000000003
R10: 0000000000000004 R11: 0000000000000000 R12: 0000000000000004
R13: 0000000000000001 R14: ffffc90003637008 R15: 0000000000000900
FS:  0000000000000000(0000) GS:ffff8880d6cdf000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f7baee09130 CR3: 0000000029f5a000 CR4: 0000000000352ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 ____bpf_get_stack_raw_tp kernel/trace/bpf_trace.c:1934 [inline]
 bpf_get_stack_raw_tp+0x24/0x160 kernel/trace/bpf_trace.c:1931
 bpf_prog_ec3b2eefa702d8d3+0x43/0x47
 bpf_dispatcher_nop_func include/linux/bpf.h:1316 [inline]
 __bpf_prog_run include/linux/filter.h:718 [inline]
 bpf_prog_run include/linux/filter.h:725 [inline]
 __bpf_trace_run kernel/trace/bpf_trace.c:2363 [inline]
 bpf_trace_run3+0x23f/0x5a0 kernel/trace/bpf_trace.c:2405
 __bpf_trace_mmap_lock_acquire_returned+0xfc/0x140 include/trace/events/mmap_lock.h:47
 __traceiter_mmap_lock_acquire_returned+0x79/0xc0 include/trace/events/mmap_lock.h:47
 __do_trace_mmap_lock_acquire_returned include/trace/events/mmap_lock.h:47 [inline]
 trace_mmap_lock_acquire_returned include/trace/events/mmap_lock.h:47 [inline]
 __mmap_lock_do_trace_acquire_returned+0x138/0x1f0 mm/mmap_lock.c:35
 __mmap_lock_trace_acquire_returned include/linux/mmap_lock.h:36 [inline]
 mmap_read_trylock include/linux/mmap_lock.h:204 [inline]
 stack_map_get_build_id_offset+0x535/0x6f0 kernel/bpf/stackmap.c:157
 __bpf_get_stack+0x307/0xa10 kernel/bpf/stackmap.c:483
 ____bpf_get_stack kernel/bpf/stackmap.c:499 [inline]
 bpf_get_stack+0x32/0x40 kernel/bpf/stackmap.c:496
 ____bpf_get_stack_raw_tp kernel/trace/bpf_trace.c:1941 [inline]
 bpf_get_stack_raw_tp+0x124/0x160 kernel/trace/bpf_trace.c:1931
 bpf_prog_ec3b2eefa702d8d3+0x43/0x47

Tracepoint like trace_mmap_lock_acquire_returned may cause nested call
as the corner case show above, which will be resolved with more general
method in the future. As a result, WARN_ON_ONCE will be triggered. As
Alexei suggested, remove the WARN_ON_ONCE first.

## Remediation

No remediation reported in collected sources

## Affected products and versions

- Linux / Linux: ≥ 9594dc3c7e71b9f52bee1d7852eb3d4e3aea9e99; < 44ebe361abb322d2afd77930fa767a99f271c4d1 (affected, git); ≥ 9594dc3c7e71b9f52bee1d7852eb3d4e3aea9e99; < 147ea936fc6fa8fe0c93f0df918803a5375ca535 (affected, git); ≥ 9594dc3c7e71b9f52bee1d7852eb3d4e3aea9e99; < ee90be48edb3dac612e0b7f5332482a9e8be2696 (affected, git); ≥ 9594dc3c7e71b9f52bee1d7852eb3d4e3aea9e99; < e167414beabb1e941fe563a96becc98627d5bdf6 (affected, git); ≥ 9594dc3c7e71b9f52bee1d7852eb3d4e3aea9e99; < 6d8f39875a10a194051c3eaefebc7ac06a34aaf3 (affected, git); ≥ 9594dc3c7e71b9f52bee1d7852eb3d4e3aea9e99; < c98cdf6795a36bca163ebb40411fef1687b9eb13 (affected, git); ≥ 9594dc3c7e71b9f52bee1d7852eb3d4e3aea9e99; < 18e8cbbae79cb35bdce8a01c889827b9799c762e (affected, git); ≥ 9594dc3c7e71b9f52bee1d7852eb3d4e3aea9e99; < 3880cdbed1c4607e378f58fa924c5d6df900d1d3 (affected, git); a7177b94aff4febe657fe31bb7e5ecdef72079f4 (affected, git); 2a9fedc1ef4be2acb4fd4674f405c21c811e1505 (affected, git); ≥ 4.19.57; < 4.20 (affected, semver); ≥ 5.1.16; < 5.2 (affected, semver). Source: CNA: Linux
- Linux / Linux: 5.2 (affected); ≥ 0; < 5.2 (unaffected, semver); ≥ 5.4.295; ≤ 5.4.* (unaffected, semver); ≥ 5.10.239; ≤ 5.10.* (unaffected, semver); ≥ 5.15.186; ≤ 5.15.* (unaffected, semver); ≥ 6.1.142; ≤ 6.1.* (unaffected, semver); ≥ 6.6.94; ≤ 6.6.* (unaffected, semver); ≥ 6.12.34; ≤ 6.12.* (unaffected, semver); ≥ 6.15.3; ≤ 6.15.* (unaffected, semver); ≥ 6.16; ≤ * (unaffected, original_commit_for_fix). Source: CNA: Linux
- Siemens / SIMATIC S7-1500 CPU 1518-4 PN/DP MFP: ≥ V3.1.5; < * (affected, custom). Source: ADP: siemens-SADP
- Siemens / SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP: ≥ V3.1.5; < * (affected, custom). Source: ADP: siemens-SADP
- Siemens / SIPLUS S7-1500 CPU 1518-4 PN/DP MFP: ≥ V3.1.5; < * (affected, custom). Source: ADP: siemens-SADP

## Severity and prioritization

- CISA KEV: No listing in collected sources

- EPSS: 0.21% as of 2026-11-05; percentile 11.03%

- SSVC: exploitation none; automatable no; technical impact partial; source ADP: CISA-ADP

- Weaknesses: Not reported

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://git.kernel.org/stable/c/44ebe361abb322d2afd77930fa767a99f271c4d1 (CNA: Linux)

- https://git.kernel.org/stable/c/147ea936fc6fa8fe0c93f0df918803a5375ca535 (CNA: Linux)

- https://git.kernel.org/stable/c/ee90be48edb3dac612e0b7f5332482a9e8be2696 (CNA: Linux)

- https://git.kernel.org/stable/c/e167414beabb1e941fe563a96becc98627d5bdf6 (CNA: Linux)

- https://git.kernel.org/stable/c/6d8f39875a10a194051c3eaefebc7ac06a34aaf3 (CNA: Linux)

- https://git.kernel.org/stable/c/c98cdf6795a36bca163ebb40411fef1687b9eb13 (CNA: Linux)

- https://git.kernel.org/stable/c/18e8cbbae79cb35bdce8a01c889827b9799c762e (CNA: Linux)

- https://git.kernel.org/stable/c/3880cdbed1c4607e378f58fa924c5d6df900d1d3 (CNA: Linux)

- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html (ADP: CVE)

- https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html (ADP: CVE)

- https://cert-portal.siemens.com/productcert/html/ssa-082556.html (ADP: siemens-SADP)

## Provenance

- CNA: Linux: https://www.cve.org/CVERecord?id=CVE-2025-38285; retrieved 2026-11-05; source updated 2026-11-05

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2025-38285; retrieved 2026-11-05; source updated Not reported

Revision: 13ea27af4ac7514b9c156d7ecd9b3ddc5848be7c2001695250f7db0db83287a5

Canonical: https://y2.dev/cve/CVE-2025-38285

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.