On Tue, Apr 21, 2020 at 5:37 PM Stanislav Fomichev <sdf@xxxxxxxxxx> wrote: > > Commit 51c39bb1d5d1 ("bpf: Introduce function-by-function verification") > introduced function linkage flag and changed the error message from > "vlen != 0" to "Invalid func linkage" and broke some fake BPF programs. > > Adjust the test accordingly. > > AFACT, the programs don't really need any arguments and only look > at BTF for maps, so let's drop the args altogether. > > Before: > BTF raw test[103] (func (Non zero vlen)): do_test_raw:3703:FAIL expected > err_str:vlen != 0 > magic: 0xeb9f > version: 1 > flags: 0x0 > hdr_len: 24 > type_off: 0 > type_len: 72 > str_off: 72 > str_len: 10 > btf_total_size: 106 > [1] INT (anon) size=4 bits_offset=0 nr_bits=32 encoding=SIGNED > [2] INT (anon) size=4 bits_offset=0 nr_bits=32 encoding=(none) > [3] FUNC_PROTO (anon) return=0 args=(1 a, 2 b) > [4] FUNC func type_id=3 Invalid func linkage > > BTF libbpf test[1] (test_btf_haskv.o): libbpf: load bpf program failed: > Invalid argument > libbpf: -- BEGIN DUMP LOG --- > libbpf: > Validating test_long_fname_2() func#1... > Arg#0 type PTR in test_long_fname_2() is not supported yet. > processed 0 insns (limit 1000000) max_states_per_insn 0 total_states 0 > peak_states 0 mark_read 0 > > libbpf: -- END LOG -- > libbpf: failed to load program 'dummy_tracepoint' > libbpf: failed to load object 'test_btf_haskv.o' > do_test_file:4201:FAIL bpf_object__load: -4007 > BTF libbpf test[2] (test_btf_newkv.o): libbpf: load bpf program failed: > Invalid argument > libbpf: -- BEGIN DUMP LOG --- > libbpf: > Validating test_long_fname_2() func#1... > Arg#0 type PTR in test_long_fname_2() is not supported yet. > processed 0 insns (limit 1000000) max_states_per_insn 0 total_states 0 > peak_states 0 mark_read 0 > > libbpf: -- END LOG -- > libbpf: failed to load program 'dummy_tracepoint' > libbpf: failed to load object 'test_btf_newkv.o' > do_test_file:4201:FAIL bpf_object__load: -4007 > BTF libbpf test[3] (test_btf_nokv.o): libbpf: load bpf program failed: > Invalid argument > libbpf: -- BEGIN DUMP LOG --- > libbpf: > Validating test_long_fname_2() func#1... > Arg#0 type PTR in test_long_fname_2() is not supported yet. > processed 0 insns (limit 1000000) max_states_per_insn 0 total_states 0 > peak_states 0 mark_read 0 > > libbpf: -- END LOG -- > libbpf: failed to load program 'dummy_tracepoint' > libbpf: failed to load object 'test_btf_nokv.o' > do_test_file:4201:FAIL bpf_object__load: -4007 > > Fixes: 51c39bb1d5d1 ("bpf: Introduce function-by-function verification") > Signed-off-by: Stanislav Fomichev <sdf@xxxxxxxxxx> Applied to bpf tree. Thanks