[PATCH bpf-next v3 0/4] Mixing bpf2bpf and tailcalls for RV64

Alexei Starovoitov alexei.starovoitov at gmail.com
Thu Feb 1 08:19:47 PST 2024


On Thu, Feb 1, 2024 at 2:56 AM Daniel Borkmann <daniel at iogearbox.net> wrote:
>
> > will be destroyed. So we implemented mixing bpf2bpf and tailcalls
> > similar to x86_64, i.e. using a non-callee saved register to transfer
...
> Iiuc, this still needs a respin as per the ongoing discussions. Also,
> if you have worked on BPF selftests which exercise the corner case
> around a6, please include them in the series as well for coverage.

Hold on, folks.
I'm not sure it's such a code idea to support tailcalls from subprogs
in risc-v.
They're broken on x86-64 and so far several attempts to fix them
were not successful.
If we don't have a fix soon we will disable this feature completely
in the verifier.
In general tailcalling from subprogs is a niche use case.
If there are users they should transition to tail call from main prog only.

See
https://lore.kernel.org/bpf/CAADnVQJ1szry9P00wweVDu4d0AQoM_49qT-_ueirvggAiCZrpw@mail.gmail.com/



More information about the linux-riscv mailing list