On Mon, 18 Sept 2023 at 15:56, Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > 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. Hello, This is my bad. I totally missed it since I initially wrote this patch and never looked at it again. I suggest that I send a fix to disable this feature with CONFIG_UNWINDER_FRAME_POINTER=y, while I work on reenabling it again for it with a follow up.