On Mon, Sep 18, 2023 at 6:54 AM Eric Dumazet <edumazet@xxxxxxxxxx> wrote: > > 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. Right. Our replies crossed. Please ignore this PR. We need to fix this first.