[PATCH bpf-next v2 5/6] bpf, arm64: bpf trampoline for arm64

Andrii Nakryiko andrii.nakryiko at gmail.com
Fri Apr 15 10:12:31 PDT 2022


On Thu, Apr 14, 2022 at 9:10 AM Xu Kuohai <xukuohai at huawei.com> wrote:
>
> Add bpf trampoline support for arm64. Most of the logic is the same as
> x86.
>
> fentry before bpf trampoline hooked:
>  mov x9, x30
>  nop
>
> fentry after bpf trampoline hooked:
>  mov x9, x30
>  bl  <bpf_trampoline>
>
> Tested on qemu, result:
>  #55 fentry_fexit:OK
>  #56 fentry_test:OK
>  #58 fexit_sleep:OK
>  #59 fexit_stress:OK
>  #60 fexit_test:OK
>  #67 get_func_args_test:OK
>  #68 get_func_ip_test:OK
>  #101 modify_return:OK
>
> Signed-off-by: Xu Kuohai <xukuohai at huawei.com>
> Acked-by: Song Liu <songliubraving at fb.com>
> ---

Can you please also take a look at [0], which is an ongoing work to
add support for BPF cookie to BPF trampoline-based BPF programs. It's
very close to being done, so it would be good if you can implement
that at the same time.

  [0] https://patchwork.kernel.org/project/netdevbpf/patch/20220412165555.4146407-4-kuifeng@fb.com/

>  arch/arm64/net/bpf_jit.h      |  14 +-
>  arch/arm64/net/bpf_jit_comp.c | 338 +++++++++++++++++++++++++++++++++-
>  2 files changed, 348 insertions(+), 4 deletions(-)
>

[...]



More information about the linux-arm-kernel mailing list