On Sun, Feb 2, 2025 at 8:46 PM Vincent Li <vincent.mc.li@xxxxxxxxx> wrote: > > Hi > > I am attempting to load loxilb ebpf load balancer project ebpf > program and ran into bpf verifier error like below, the kernel is > upstream stable release 6.12.5 and has CONFIG_DEBUG_INFO_BTF=y kernel > config. I tried both clang 18.1.0 and clang 19.1.7. I reported the > issue to loxilb here [0] with BTF LOAD LOG and PROG LOAD LOG output > detail. Google search and AI hasn't been helpful so far :) > > 8113: (bf) r1 = r8 ; frame1: > R1_w=map_value(map=polx_map,ks=4,vs=96) > R8_w=map_value(map=polx_map,ks=4,vs=96) > 8114: (07) r1 += 16 ; frame1: > R1_w=map_value(map=polx_map,ks=4,vs=96,off=16) > 8115: (7b) *(u64 *)(r10 -16) = r1 ; frame1: > R1_w=map_value(map=polx_map,ks=4,vs=96,off=16) R10=fp0 > fp-16_w=map_value(map=polx_map,ks=4,vs=96,off=16) > 8116: (85) call bpf_spin_lock#93 > map 'polx_map' has to have BTF in order to use bpf_spin_lock The message from the verifier is pretty clear. The problem is somewhere in loxilb. The kernel and clang are fine.