Message ID | 20211231151018.3781550-1-houtao1@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | bpf, arm64: use emit_addr_mov_i64() for BPF_PSEUDO_FUNC | expand |
Hello: This patch was applied to bpf/bpf-next.git (master) by Daniel Borkmann <daniel@iogearbox.net>: On Fri, 31 Dec 2021 23:10:18 +0800 you wrote: > The following error is reported when running "./test_progs -t for_each" > under arm64: > > bpf_jit: multi-func JIT bug 58 != 56 > ...... > JIT doesn't support bpf-to-bpf calls > > [...] Here is the summary with links: - bpf, arm64: use emit_addr_mov_i64() for BPF_PSEUDO_FUNC https://git.kernel.org/bpf/bpf-next/c/e4a41c2c1fa9 You are awesome, thank you!
diff --git a/arch/arm64/net/bpf_jit_comp.c b/arch/arm64/net/bpf_jit_comp.c index f81e71f6e8bf..acfc3d4d712c 100644 --- a/arch/arm64/net/bpf_jit_comp.c +++ b/arch/arm64/net/bpf_jit_comp.c @@ -792,7 +792,10 @@ static int build_insn(const struct bpf_insn *insn, struct jit_ctx *ctx, u64 imm64; imm64 = (u64)insn1.imm << 32 | (u32)imm; - emit_a64_mov_i64(dst, imm64, ctx); + if (bpf_pseudo_func(insn)) + emit_addr_mov_i64(dst, imm64, ctx); + else + emit_a64_mov_i64(dst, imm64, ctx); return 1; }