Messages in this thread | | | From | Björn Töpel <> | Subject | Re: [PATCH bpf-next v1 0/4] Support bpf trampoline for RV64 | Date | Thu, 16 Feb 2023 10:56:49 +0100 |
| |
Pu Lehui <pulehui@huaweicloud.com> writes:
> BPF trampoline is the critical infrastructure of the bpf > subsystem, acting as a mediator between kernel functions > and BPF programs. Numerous important features, such as > using ebpf program for zero overhead kernel introspection, > rely on this key component. We can't wait to support bpf > trampoline on RV64. Since RV64 does not support ftrace > direct call yet, the current RV64 bpf trampoline is only > used in bpf context. > > As most of riscv cpu support unaligned memory accesses, > we temporarily use patch [1] to facilitate testing. The > test results are as follow, and test_verifier with no > new failure ceses. > > - fexit_bpf2bpf:OK > - dummy_st_ops:OK > - xdp_bpf2bpf:OK > > [1] https://lore.kernel.org/linux-riscv/20210916130855.4054926-2-chenhuang5@huawei.com/ > > v1: > - Remove the logic of bpf_arch_text_poke supported for > kernel functions. (Kuohai and Björn) > - Extend patch_text for multiple instructions. (Björn) > - Fix OOB issue when image too big. (Björn)
This series is ready to go in as is.
@Palmer I'd like to take this series via the bpf-next tree (as usual), but note that there are some non-BPF changes as well, related to text poking.
@Lehui I'd like to see two follow-up patches:
1. Enable kfunc for RV64, by adding: | bool bpf_jit_supports_kfunc_call(void) | { | return true; | }
2. Remove the checkpatch warning on patch 4: | WARNING: kfree(NULL) is safe and this check is probably not required | #313: FILE: arch/riscv/net/bpf_jit_comp64.c:984: | + if (branches_off) | + kfree(branches_off);
For the series:
Tested-by: Björn Töpel <bjorn@rivosinc.com> Acked-by: Björn Töpel <bjorn@rivosinc.com>
| |