On Tue, Nov 19, 2019 at 2:16 PM Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > On Mon, Nov 18, 2019 at 10:21:51PM -0800, Andrii Nakryiko wrote: > > > > -static __attribute__ ((noinline)) > > -int test_pkt_access_subprog2(int val, volatile struct __sk_buff *skb) > > +__attribute__ ((noinline)) > > +int test_pkt_access_subprog2(int val, struct __sk_buff *skb) > > { > > return skb->len * val; > > } > > Did you run test_progs -n 8? I ran all of them, but missed that number of failing tests increased. > > Above breaks it with: > 10: (61) r1 = *(u32 *)(r6 +40) > func 'test_pkt_access_subprog2' doesn't have 6-th argument > invalid bpf_context access off=40 size=4 > > The point of the subprog2 is to test the scenario where BTF disagress with llvm > optimizations. > Yeah, right. I should keep test_pkt_access_subprog2 as static then. Will post v2 with that change.