CVE-2025-38723

LoongArch: BPF: Fix jump offset calculation in tailcall

State
Published
Severity
Not scored
Published
Sep 4, 2025
Updated
May 12, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

Description

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

LoongArch: BPF: Fix jump offset calculation in tailcall

The extra pass of bpf_int_jit_compile() skips JIT context initialization which essentially skips offset calculation leaving out_offset = -1, so the jmp_offset in emit_bpf_tail_call is calculated by

"#define jmp_offset (out_offset - (cur_offset))"

is a negative number, which is wrong. The final generated assembly are as follow.

54: bgeu $a2, $t1, -8 # 0x0000004c 58: addi.d $a6, $s5, -1 5c: bltz $a6, -16 # 0x0000004c 60: alsl.d $t2, $a2, $a1, 0x3 64: ld.d $t2, $t2, 264 68: beq $t2, $zero, -28 # 0x0000004c

Before apply this patch, the follow test case will reveal soft lock issues.

cd tools/testing/selftests/bpf/ ./test_progs --allow=tailcalls/tailcall_bpf2bpf_1

dmesg: watchdog: BUG: soft lockup - CPU#2 stuck for 26s! [test_progs:25056]

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 5dc615520c4dfb358245680f1904bad61116648e to before 1a782fa32e644aa9fbae6c8488f3e61221ac96e1Affected
  • 5dc615520c4dfb358245680f1904bad61116648e to before 17c010fe45def335fe03a0718935416b04c7f349Affected
  • 5dc615520c4dfb358245680f1904bad61116648e to before f83d469e16bb1f75991ca67c56786fb2aaa42beaAffected
  • 5dc615520c4dfb358245680f1904bad61116648e to before f2b5e50cc04d7a049b385bc1c93b9cbf5f10c94fAffected
  • 5dc615520c4dfb358245680f1904bad61116648e to before 9262e3e04621558e875eb5afb5e726b648cd5949Affected
  • 5dc615520c4dfb358245680f1904bad61116648e to before cd39d9e6b7e4c58fa77783e7aedf7ada51d02ea3Affected
LinuxLinux
  • 6.1Affected
  • before 6.1Not affected
  • 6.1.149 through 6.1.*Not affected
  • 6.6.103 through 6.6.*Not affected
  • 6.12.43 through 6.12.*Not affected
  • 6.15.11 through 6.15.*Not affected
  • 6.16.2 through 6.16.*Not affected
  • 6.17 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.