On Mon, Sep 18, 2023 at 3:41 PM Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > On Mon, Sep 18, 2023 at 6:25 AM Eric Dumazet <edumazet@xxxxxxxxxx> wrote: > > > > On Sat, Sep 16, 2023 at 6:59 PM Alexei Starovoitov > > <alexei.starovoitov@xxxxxxxxx> wrote: > > > > > > Hi David, hi Jakub, hi Paolo, hi Eric, > > > > > > The following pull-request contains BPF updates for your *net-next* tree. > > > > > > We've added 73 non-merge commits during the last 9 day(s) which contain > > > a total of 79 files changed, 5275 insertions(+), 600 deletions(-). > > > > > > The main changes are: > > > > > > 1) Basic BTF validation in libbpf, from Andrii Nakryiko. > > > > > > 2) bpf_assert(), bpf_throw(), exceptions in bpf progs, from Kumar Kartikeya Dwivedi. > > > > > > 3) next_thread cleanups, from Oleg Nesterov. > > > > > > 4) Add mcpu=v4 support to arm32, from Puranjay Mohan. > > > > > > 5) Add support for __percpu pointers in bpf progs, from Yonghong Song. > > > > > > 6) Fix bpf tailcall interaction with bpf trampoline, from Leon Hwang. > > > > > > 7) Raise irq_work in bpf_mem_alloc while irqs are disabled to improve refill probabablity, from Hou Tao. > > > > > > Please consider pulling these changes from: > > > > > > git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git > > > > > > > This might have been raised already, but bpf on x86 now depends on > > CONFIG_UNWINDER_ORC ? > > > > $ grep CONFIG_UNWINDER_ORC .config > > # CONFIG_UNWINDER_ORC is not set > > > > $ make ... > > arch/x86/net/bpf_jit_comp.c:3022:58: error: no member named 'sp' in > > 'struct unwind_state' > > if (!addr || !consume_fn(cookie, (u64)addr, > > (u64)state.sp, (u64)state.bp)) > > ~~~~~ ^ > > 1 error generated. > > Kumar, > can probably explain better, > but no the bpf as whole doesn't depend. > One feature needs either ORC or frame unwinder. > It won't work with unwinder_guess. > The build error is a separate issue. > It hasn't been reported before. In my builds, I do have CONFIG_UNWINDER_FRAME_POINTER=y $ grep UNWIND .config # CONFIG_UNWINDER_ORC is not set CONFIG_UNWINDER_FRAME_POINTER=y I note state.sp is only available to CONFIG_UNWINDER_ORC arch/x86/include/asm/unwind.h #if defined(CONFIG_UNWINDER_ORC) bool signal, full_regs; unsigned long sp, bp, ip; struct pt_regs *regs, *prev_regs; #elif defined(CONFIG_UNWINDER_FRAME_POINTER) bool got_irq; unsigned long *bp, *orig_sp, ip; // this is orig_sp , not sp. ...