v2: 1. Change the fixmap in the instruction copy function to set_memory_xxx. 2. Change the implementation method of the following code. - arch_alloc_bpf_trampoline - arch_free_bpf_trampoline Use the BPF core's allocation and free functions. - bpf_arch_text_invalidate Operate with the function larch_insn_text_copy that carries memory attribute modifications. 3. Correct the incorrect code formatting. ----------------------------------------------------------------------- Historical Version: v1: Support trampoline for LoongArch. The following feature tests have been completed: 1. fentry 2. fexit 3. fmod_ret TODO: The support for the struct_ops feature will be provided in subsequent patches. URL for version v1: https://lore.kernel.org/all/20250611035952.111182-1-duanchenghao@xxxxxxxxxx/ ----------------------------------------------------------------------- Chenghao Duan (4): LoongArch: BPF: The operation commands needed to add a trampoline LoongArch: BPF: Add bpf_arch_text_poke support for Loongarch LoongArch: BPF: Add bpf trampoline support for Loongarch LoongArch: BPF: Update the code to rename validate_code to validate_ctx. arch/loongarch/include/asm/inst.h | 3 + arch/loongarch/kernel/inst.c | 57 ++++ arch/loongarch/net/bpf_jit.c | 490 +++++++++++++++++++++++++++++- arch/loongarch/net/bpf_jit.h | 6 + 4 files changed, 555 insertions(+), 1 deletion(-) -- 2.43.0