In the Linux kernel, the following vulnerability has been resolved:
LoongArch: BPF: Fix off-by-one error in build_prologue()
Vincent reported that running BPF progs with tailcalls on LoongArch causes kernel hard lockup. Debugging the issues shows that the JITed image missing a jirl instruction at the end of the epilogue.
There are two passes in JIT compiling, the first pass set the flags and the second pass generates JIT code based on those flags. With BPF progs mixing bpf2bpf and tailcalls, buildprologue() generates N insns in the first pass and then generates N+1 insns in the second pass. This makes epilogueoffset off by one and we will jump to some unexpected insn and cause lockup. Fix this by inserting a nop insn.
[
    {
        "id": "CVE-2025-37893-160ca085",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Line",
        "digest": {
            "line_hashes": [
                "118046354818517068845020350438985388078",
                "128694570737138852687850695440813415881",
                "201168553520339973092258568358225623504",
                "44341026733655088764215987547799637347"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "arch/loongarch/net/bpf_jit.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@48b904de2408af5f936f0e03f48dfcddeab58aa0"
    },
    {
        "id": "CVE-2025-37893-21ce207a",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Function",
        "digest": {
            "function_hash": "271507830326055921805254403360070249910",
            "length": 1423.0
        },
        "target": {
            "file": "arch/loongarch/net/bpf_jit.c",
            "function": "build_prologue"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b3ffad2f02db4aace6799fe0049508b8925eae45"
    },
    {
        "id": "CVE-2025-37893-3a7868ba",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Line",
        "digest": {
            "line_hashes": [
                "278621099165219637864594662759635559",
                "98836706297272433898591196880966731423",
                "42232319907424878079309936188504955078"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "arch/loongarch/net/bpf_jit.h"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7e2586991e36663c9bc48c828b83eab180ad30a9"
    },
    {
        "id": "CVE-2025-37893-3c6b23fe",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Line",
        "digest": {
            "line_hashes": [
                "118046354818517068845020350438985388078",
                "128694570737138852687850695440813415881",
                "201168553520339973092258568358225623504",
                "44341026733655088764215987547799637347"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "arch/loongarch/net/bpf_jit.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b3ffad2f02db4aace6799fe0049508b8925eae45"
    },
    {
        "id": "CVE-2025-37893-5b1fd6e0",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Function",
        "digest": {
            "function_hash": "271507830326055921805254403360070249910",
            "length": 1423.0
        },
        "target": {
            "file": "arch/loongarch/net/bpf_jit.c",
            "function": "build_prologue"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7e2586991e36663c9bc48c828b83eab180ad30a9"
    },
    {
        "id": "CVE-2025-37893-6649dce6",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Line",
        "digest": {
            "line_hashes": [
                "278621099165219637864594662759635559",
                "98836706297272433898591196880966731423",
                "42232319907424878079309936188504955078"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "arch/loongarch/net/bpf_jit.h"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c74d95a5679741ef428974ab788f5b0758dc78ae"
    },
    {
        "id": "CVE-2025-37893-75cd6873",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Line",
        "digest": {
            "line_hashes": [
                "118046354818517068845020350438985388078",
                "128694570737138852687850695440813415881",
                "201168553520339973092258568358225623504",
                "44341026733655088764215987547799637347"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "arch/loongarch/net/bpf_jit.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c74d95a5679741ef428974ab788f5b0758dc78ae"
    },
    {
        "id": "CVE-2025-37893-78a0ed7f",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Function",
        "digest": {
            "function_hash": "271507830326055921805254403360070249910",
            "length": 1423.0
        },
        "target": {
            "file": "arch/loongarch/net/bpf_jit.c",
            "function": "build_prologue"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c74d95a5679741ef428974ab788f5b0758dc78ae"
    },
    {
        "id": "CVE-2025-37893-7a5076ea",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Line",
        "digest": {
            "line_hashes": [
                "118046354818517068845020350438985388078",
                "128694570737138852687850695440813415881",
                "201168553520339973092258568358225623504",
                "44341026733655088764215987547799637347"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "arch/loongarch/net/bpf_jit.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7e2586991e36663c9bc48c828b83eab180ad30a9"
    },
    {
        "id": "CVE-2025-37893-8c5e0b3e",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Function",
        "digest": {
            "function_hash": "271507830326055921805254403360070249910",
            "length": 1423.0
        },
        "target": {
            "file": "arch/loongarch/net/bpf_jit.c",
            "function": "build_prologue"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@205a2182c51ffebaef54d643e3745e720cded08b"
    },
    {
        "id": "CVE-2025-37893-9814d4e1",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Line",
        "digest": {
            "line_hashes": [
                "278621099165219637864594662759635559",
                "98836706297272433898591196880966731423",
                "42232319907424878079309936188504955078"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "arch/loongarch/net/bpf_jit.h"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@205a2182c51ffebaef54d643e3745e720cded08b"
    },
    {
        "id": "CVE-2025-37893-b087a02f",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Line",
        "digest": {
            "line_hashes": [
                "278621099165219637864594662759635559",
                "98836706297272433898591196880966731423",
                "42232319907424878079309936188504955078"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "arch/loongarch/net/bpf_jit.h"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b3ffad2f02db4aace6799fe0049508b8925eae45"
    },
    {
        "id": "CVE-2025-37893-b7e7b96a",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Line",
        "digest": {
            "line_hashes": [
                "278621099165219637864594662759635559",
                "98836706297272433898591196880966731423",
                "42232319907424878079309936188504955078"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "arch/loongarch/net/bpf_jit.h"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@48b904de2408af5f936f0e03f48dfcddeab58aa0"
    },
    {
        "id": "CVE-2025-37893-c3761e67",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Line",
        "digest": {
            "line_hashes": [
                "118046354818517068845020350438985388078",
                "128694570737138852687850695440813415881",
                "201168553520339973092258568358225623504",
                "44341026733655088764215987547799637347"
            ],
            "threshold": 0.9
        },
        "target": {
            "file": "arch/loongarch/net/bpf_jit.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@205a2182c51ffebaef54d643e3745e720cded08b"
    },
    {
        "id": "CVE-2025-37893-f24841fe",
        "deprecated": false,
        "signature_version": "v1",
        "signature_type": "Function",
        "digest": {
            "function_hash": "271507830326055921805254403360070249910",
            "length": 1423.0
        },
        "target": {
            "file": "arch/loongarch/net/bpf_jit.c",
            "function": "build_prologue"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@48b904de2408af5f936f0e03f48dfcddeab58aa0"
    }
]