bpf: Add arch_bpf_trampoline_size()
authorSong Liu <song@kernel.org>
Wed, 6 Dec 2023 22:40:52 +0000 (14:40 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 7 Dec 2023 01:17:20 +0000 (17:17 -0800)
commit96d1b7c081c0c96cbe8901045f4ff15a2e9974a2
tree1c42f14146f5308976355f4d3d84b4cb4e91a420
parent38b8b58ae776bf748bd1bd7a24c3fd1d10f76f45
bpf: Add arch_bpf_trampoline_size()

This helper will be used to calculate the size of the trampoline before
allocating the memory.

arch_prepare_bpf_trampoline() for arm64 and riscv64 can use
arch_bpf_trampoline_size() to check the trampoline fits in the image.

OTOH, arch_prepare_bpf_trampoline() for s390 has to call the JIT process
twice, so it cannot use arch_bpf_trampoline_size().

Signed-off-by: Song Liu <song@kernel.org>
Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
Tested-by: Ilya Leoshkevich <iii@linux.ibm.com> # on s390x
Acked-by: Jiri Olsa <jolsa@kernel.org>
Acked-by: Björn Töpel <bjorn@rivosinc.com>
Tested-by: Björn Töpel <bjorn@rivosinc.com> # on riscv
Link: https://lore.kernel.org/r/20231206224054.492250-6-song@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
arch/arm64/net/bpf_jit_comp.c
arch/riscv/net/bpf_jit_comp64.c
arch/s390/net/bpf_jit_comp.c
arch/x86/net/bpf_jit_comp.c
include/linux/bpf.h
kernel/bpf/trampoline.c