On Mon, Sep 20, 2021 at 06:31:22PM -0700, Martin KaFai Lau wrote: > It is a simplified example that can trigger a 32bit scalar spill. > The const scalar is refilled and added to a skb->data later. > Since the reg state of the 32bit scalar spill is not saved now, > adding the refilled reg to skb->data and then comparing it with > skb->data_end cannot verify the skb->data access. > > With the earlier verifier patch and the llvm patch [1]. The verifier > can correctly verify the bpf prog. Let's land llvm patch and wait until CI picks up the new llvm build? Please add a comment to selftests/bpf/README.rst that describes the failing test when llvm is old. I'm guessing there is no easier way to reliably skip the test in such situation, since failure to load might be the result of some future changes. llvm version check won't work either. the patch 2 looks correct to me. I couldn't spot any issue with the logic.