On Thu, Feb 1, 2024 at 9:30 AM Björn Töpel <bjorn@xxxxxxxxxx> wrote: > > Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> writes: > > > On Thu, Feb 1, 2024 at 2:56 AM Daniel Borkmann <daniel@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx/ > > Got it. ...and it's broken on arm64 as well? Not sure. arm64, s390, loongarch, x86 claim to support it. For a long time we thought that it works on x86 until Leon came up with a way to break it.