diff --git a/run-vmtest/action.yml b/run-vmtest/action.yml new file mode 100644 index 0000000..37a1de1 --- /dev/null +++ b/run-vmtest/action.yml @@ -0,0 +1,64 @@ +name: 'run vmtest' +description: 'Run vmtest and print summary' +inputs: + arch: + description: 'arch' + required: true + img: + description: 'img path' + required: true + vmlinuz: + description: 'vmlinuz path' + required: true + kernel-root: + description: 'kernel source dir' + default: '.' + max-cpu: + description: 'Maximum number of CPU allocated to a VM (regardless of number of CPUs available on the host). Default is unset, e.g it will default to the number of CPU on the host.' + default: '' + kernel-test: + description: 'Test to run' + default: '' + output-dir: + description: | + Some sub-commands produce output dir within VM file system (/command_output/). + If this option is set that dir's content would be copied to corresponding location. + default: '' +runs: + using: "composite" + steps: + - name: Find kernel + id: find-kernel + shell: bash + run: | + BUILDDIR=$(realpath kbuild-output) + vmlinuz="$BUILDDIR/$(KBUILD_OUTPUT="${BUILDDIR}" make -C "${{ inputs.kernel-root }}" -s image_name)" + cp "$vmlinuz" ${{ inputs.vmlinuz }} + - name: Download vmtest + shell: bash + # FIXME: move to proper release + run: | + curl -L https://github.com/chantra/danobi-vmtest/releases/download/v2.1.0/vmtest-$(uname -m) > /usr/bin/vmtest && chmod 755 /usr/bin/vmtest + - name: install qemu tools and selftest dependencies + shell: bash + run: | + source "${GITHUB_ACTION_PATH}/../helpers.sh" + foldable start install_qemu "Installing QEMU tools" + # need gawk to support `--field-separator` + sudo apt-get update && sudo apt-get install -y cpu-checker qemu-kvm qemu-utils qemu-system-x86 qemu-system-s390x qemu-system-arm qemu-guest-agent \ + ethtool keyutils iptables \ + gawk + foldable end install_qemu + - name: Run vmtest + shell: bash + env: + VMLINUZ: ${{ inputs.vmlinuz }} + IMG: ${{ inputs.img }} + KERNEL_ROOT: ${{ inputs.kernel-root }} + MAX_CPU: ${{ inputs.max-cpu }} + KERNEL_TEST: ${{ inputs.kernel-test }} + OUTPUT_DIR: ${{ inputs.output-dir }} + PROJECT_NAME: "/mnt/vmtest" + run: | + ${GITHUB_ACTION_PATH}/run.sh + diff --git a/run-vmtest/fixtures/test_progs.json b/run-vmtest/fixtures/test_progs.json new file mode 100644 index 0000000..77c198d --- /dev/null +++ b/run-vmtest/fixtures/test_progs.json @@ -0,0 +1 @@ +{"success":29,"success_subtest":23,"skipped":3,"failed":28,"failed_subtest":162,"results":[{"name":"bpf_cookie","number":10,"message":"test_bpf_cookie:PASS:skel_open 0 nsec\n","failed":true,"subtests":[{"name":"multi_kprobe_link_api","number":2,"message":"kprobe_multi_link_api_subtest:PASS:load_kallsyms 0 nsec\nlibbpf: extern 'bpf_testmod_fentry_test1' (strong): not resolved\nlibbpf: failed to load object 'kprobe_multi'\nlibbpf: failed to load BPF skeleton 'kprobe_multi': -3\nkprobe_multi_link_api_subtest:FAIL:fentry_raw_skel_load unexpected error: -3\n","failed":true},{"name":"multi_kprobe_attach_api","number":3,"message":"libbpf: extern 'bpf_testmod_fentry_test1' (strong): not resolved\nlibbpf: failed to load object 'kprobe_multi'\nlibbpf: failed to load BPF skeleton 'kprobe_multi': -3\nkprobe_multi_attach_api_subtest:FAIL:fentry_raw_skel_load unexpected error: -3\n","failed":true},{"name":"lsm","number":8,"message":"lsm_subtest:PASS:lsm.link_create 0 nsec\nlsm_subtest:FAIL:stack_mprotect unexpected stack_mprotect: actual 0 != expected -1\n","failed":true}]},{"name":"bpf_mod_race","number":15,"message":"","failed":true,"subtests":[{"name":"ksym (used_btfs UAF)","number":1,"message":"test_bpf_mod_race_config:PASS:mmap for uffd registration 0 nsec\ntest_bpf_mod_race_config:FAIL:unload bpf_testmod unexpected error: -1 (errno 2)\n","failed":true},{"name":"kfunc (kfunc_btf_tab UAF)","number":2,"message":"test_bpf_mod_race_config:PASS:mmap for uffd registration 0 nsec\ntest_bpf_mod_race_config:FAIL:unload bpf_testmod unexpected error: -1 (errno 2)\n","failed":true}]},{"name":"cgroup_hierarchical_stats","number":36,"message":"setup_bpffs:PASS:mount 0 nsec\nsetup_cgroups:PASS:setup_cgroup_environment 0 nsec\nsetup_cgroups:PASS:get_root_cgroup 0 nsec\nsetup_cgroups:PASS:create_and_get_cgroup 0 nsec\nsetup_cgroups:PASS:create_and_get_cgroup 0 nsec\nsetup_cgroups:PASS:create_and_get_cgroup 0 nsec\nsetup_cgroups:PASS:create_and_get_cgroup 0 nsec\nsetup_cgroups:PASS:create_and_get_cgroup 0 nsec\nsetup_cgroups:PASS:create_and_get_cgroup 0 nsec\nsetup_cgroups:PASS:create_and_get_cgroup 0 nsec\nlibbpf: prog 'counter': BPF program load failed: Permission denied\nlibbpf: prog 'counter': -- BEGIN PROG LOAD LOG --\nR1 type=ctx expected=fp\n0: R1=ctx(off=0,imm=0) R10=fp0\n; int BPF_PROG(counter, struct cgroup *dst_cgrp, struct task_struct *leader,\n0: (79) r6 = *(u64 *)(r1 +0)\nfunc 'cgroup_attach_task' arg0 has btf_id 1839 type STRUCT 'cgroup'\n1: R1=ctx(off=0,imm=0) R6_w=ptr_cgroup(off=0,imm=0)\n; return cgrp->kn->id;\n1: (79) r1 = *(u64 *)(r6 +248) ; R1_w=ptr_kernfs_node(off=0,imm=0) R6_w=ptr_cgroup(off=0,imm=0)\n; return cgrp->kn->id;\n2: (79) r1 = *(u64 *)(r1 +104) ; R1_w=scalar()\n; __u64 cg_id = cgroup_id(dst_cgrp);\n3: (7b) *(u64 *)(r10 -32) = r1 ; R1_w=scalar() R10=fp0 fp-32_w=mmmmmmmm\n4: (bf) r2 = r10 ; R2_w=fp0 R10=fp0\n; \n5: (07) r2 += -32 ; R2_w=fp-32\n; struct percpu_attach_counter *pcpu_counter = bpf_map_lookup_elem(\n6: (18) r1 = 0xffff8886c3e94400 ; R1_w=map_ptr(off=0,ks=8,vs=16,imm=0)\n8: (85) call bpf_map_lookup_elem#1 ; R0_w=map_value_or_null(id=1,off=0,ks=8,vs=16,imm=0)\n; if (pcpu_counter)\n9: (15) if r0 == 0x0 goto pc+4 ; R0_w=map_value(off=0,ks=8,vs=16,imm=0)\n; pcpu_counter->state += 1;\n10: (79) r1 = *(u64 *)(r0 +8) ; R0_w=map_value(off=0,ks=8,vs=16,imm=0) R1_w=scalar()\n11: (07) r1 += 1 ; R1_w=scalar()\n12: (7b) *(u64 *)(r0 +8) = r1 ; R0_w=map_value(off=0,ks=8,vs=16,imm=0) R1_w=scalar()\n13: (05) goto pc+15\n; cgroup_rstat_updated(dst_cgrp, bpf_get_smp_processor_id());\n29: (85) call bpf_get_smp_processor_id#8 ; R0_w=scalar()\n; cgroup_rstat_updated(dst_cgrp, bpf_get_smp_processor_id());\n30: (bf) r1 = r6 ; R1_w=ptr_cgroup(off=0,imm=0) R6=ptr_cgroup(off=0,imm=0)\n31: (bc) w2 = w0 ; R0_w=scalar() R2_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff))\n32: (85) call cgroup_rstat_updated#21503\ncalling kernel function cgroup_rstat_updated is not allowed\nprocessed 17 insns (limit 1000000) max_states_per_insn 0 total_states 1 peak_states 1 mark_read 1\n-- END PROG LOAD LOG --\nlibbpf: prog 'counter': failed to load: -13\nlibbpf: failed to load object 'cgroup_hierarchical_stats'\nlibbpf: failed to load BPF skeleton 'cgroup_hierarchical_stats': -13\nsetup_progs:FAIL:open_and_load unexpected error: -13\ndestroy_progs:FAIL:remove cgroup_iter pin unexpected error: -1 (errno 2)\ndestroy_progs:FAIL:remove cgroup_iter pin unexpected error: -1 (errno 2)\ndestroy_progs:FAIL:remove cgroup_iter pin unexpected error: -1 (errno 2)\ndestroy_progs:FAIL:remove cgroup_iter pin unexpected error: -1 (errno 2)\ndestroy_progs:FAIL:remove cgroup_iter pin unexpected error: -1 (errno 2)\ndestroy_progs:FAIL:remove cgroup_iter pin unexpected error: -1 (errno 2)\ndestroy_progs:FAIL:remove cgroup_iter pin unexpected error: -1 (errno 2)\ndestroy_progs:FAIL:remove cgroup_iter root pin unexpected error: -1 (errno 2)\ncleanup_bpffs:FAIL:rmdir /sys/fs/bpf/attach_counters/ unexpected error: -1 (errno 2)\n","failed":true,"subtests":[]},{"name":"deny_namespace","number":61,"message":"","failed":true,"subtests":[{"name":"unpriv_userns_create_no_bpf","number":1,"message":"test_unpriv_userns_create_no_bpf:PASS:no-bpf unpriv new user ns 0 nsec\nlibbpf: prog 'test_userns_create': failed to find kernel BTF type ID of 'userns_create': -3\nlibbpf: prog 'test_userns_create': failed to prepare load attributes: -3\nlibbpf: prog 'test_userns_create': failed to load: -3\nlibbpf: failed to load object 'test_deny_namespace'\nlibbpf: failed to load BPF skeleton 'test_deny_namespace': -3\ntest_deny_namespace:FAIL:skel load unexpected error: -3\n","failed":true}]},{"name":"fexit_stress","number":73,"message":"get_bpf_max_tramp_links:PASS:vmlinux btf 0 nsec\nserial_test_fexit_stress:FAIL:bpf_max_tramp_links unexpected bpf_max_tramp_links: actual -1 < expected 1\n","failed":true,"subtests":[]},{"name":"get_func_ip_test","number":83,"message":"test_function_entry:PASS:get_func_ip_test__open 0 nsec\ntest_function_entry:PASS:get_func_ip_test__load 0 nsec\ntest_function_entry:PASS:get_func_ip_test__attach 0 nsec\ntest_function_entry:PASS:test_run 0 nsec\ntest_function_entry:PASS:test_run 0 nsec\ntest_function_entry:PASS:test_run 0 nsec\ntest_function_entry:PASS:test1_result 0 nsec\ntest_function_entry:PASS:test2_result 0 nsec\ntest_function_entry:PASS:test3_result 0 nsec\ntest_function_entry:PASS:test4_result 0 nsec\ntest_function_entry:PASS:test5_result 0 nsec\ntest_function_body:PASS:get_func_ip_test__open 0 nsec\ntest_function_body:PASS:get_func_ip_test__load 0 nsec\ntest_function_body:PASS:link6 0 nsec\ntest_function_body:PASS:test_run 0 nsec\ntest_function_body:PASS:test_run 0 nsec\ntest_function_body:FAIL:test6_result unexpected test6_result: actual 0 != expected 1\n","failed":true,"subtests":[]},{"name":"kfunc_dynptr_param","number":99,"message":"has_pkcs7_kfunc_support:PASS:test_kfunc_dynptr_param__open 0 nsec\n","failed":true,"subtests":[{"name":"dynptr_data_null","number":1,"message":"verify_success:PASS:test_kfunc_dynptr_param__open 0 nsec\nlibbpf: extern (func ksym) 'bpf_key_put': not found in kernel or module BTFs\nlibbpf: failed to load object 'test_kfunc_dynptr_param'\nlibbpf: failed to load BPF skeleton 'test_kfunc_dynptr_param': -22\nverify_success:FAIL:test_kfunc_dynptr_param__load unexpected error: -22 (errno 22)\ntester_init:PASS:tester_log_buf 0 nsec\nrun_subtest:PASS:obj_open_mem 0 nsec\n","failed":true},{"name":"dynptr_data_null","number":4,"message":"run_subtest:PASS:parse_test_spec 0 nsec\nrun_subtest:PASS:obj_open_mem 0 nsec\nlibbpf: extern (func ksym) 'bpf_key_put': not found in kernel or module BTFs\nlibbpf: failed to load object 'test_kfunc_dynptr_param'\nrun_subtest:FAIL:unexpected_load_failure unexpected error: -22 (errno 22)\nVERIFIER LOG:\n=============\n=============\n","failed":true}]},{"name":"kprobe_multi_bench_attach","number":100,"message":"","failed":true,"subtests":[{"name":"kernel","number":1,"message":"test_kprobe_multi_bench_attach:PASS:get_syms 0 nsec\ntest_kprobe_multi_bench_attach:PASS:kprobe_multi_empty__open_and_load 0 nsec\nlibbpf: prog 'test_kprobe_empty': failed to attach: No such process\ntest_kprobe_multi_bench_attach:FAIL:bpf_program__attach_kprobe_multi_opts unexpected error: -3\n","failed":true},{"name":"modules","number":2,"message":"test_kprobe_multi_bench_attach:PASS:get_syms 0 nsec\ntest_kprobe_multi_bench_attach:PASS:kprobe_multi_empty__open_and_load 0 nsec\nlibbpf: prog 'test_kprobe_empty': failed to attach: No such process\ntest_kprobe_multi_bench_attach:FAIL:bpf_program__attach_kprobe_multi_opts unexpected error: -3\n","failed":true}]},{"name":"kprobe_multi_test","number":101,"message":"test_kprobe_multi_test:PASS:load_kallsyms 0 nsec\n","failed":true,"subtests":[{"name":"skel_api","number":1,"message":"libbpf: extern 'bpf_testmod_fentry_test1' (strong): not resolved\nlibbpf: failed to load object 'kprobe_multi'\nlibbpf: failed to load BPF skeleton 'kprobe_multi': -3\ntest_skel_api:FAIL:kprobe_multi__open_and_load unexpected error: -3\n","failed":true},{"name":"link_api_addrs","number":2,"message":"libbpf: extern 'bpf_testmod_fentry_test1' (strong): not resolved\nlibbpf: failed to load object 'kprobe_multi'\nlibbpf: failed to load BPF skeleton 'kprobe_multi': -3\ntest_link_api:FAIL:fentry_raw_skel_load unexpected error: -3\n","failed":true},{"name":"link_api_syms","number":3,"message":"test_link_api_addrs:PASS:kallsyms load failed for \"bpf_fentry_test1\" 0 nsec\ntest_link_api_addrs:PASS:kallsyms load failed for \"bpf_fentry_test2\" 0 nsec\ntest_link_api_addrs:PASS:kallsyms load failed for \"bpf_fentry_test3\" 0 nsec\ntest_link_api_addrs:PASS:kallsyms load failed for \"bpf_fentry_test4\" 0 nsec\ntest_link_api_addrs:PASS:kallsyms load failed for \"bpf_fentry_test5\" 0 nsec\ntest_link_api_addrs:PASS:kallsyms load failed for \"bpf_fentry_test6\" 0 nsec\ntest_link_api_addrs:PASS:kallsyms load failed for \"bpf_fentry_test7\" 0 nsec\ntest_link_api_addrs:PASS:kallsyms load failed for \"bpf_fentry_test8\" 0 nsec\nlibbpf: extern 'bpf_testmod_fentry_test1' (strong): not resolved\nlibbpf: failed to load object 'kprobe_multi'\nlibbpf: failed to load BPF skeleton 'kprobe_multi': -3\ntest_link_api:FAIL:fentry_raw_skel_load unexpected error: -3\n","failed":true},{"name":"attach_api_pattern","number":4,"message":"libbpf: extern 'bpf_testmod_fentry_test1' (strong): not resolved\nlibbpf: failed to load object 'kprobe_multi'\nlibbpf: failed to load BPF skeleton 'kprobe_multi': -3\ntest_attach_api:FAIL:fentry_raw_skel_load unexpected error: -3\nlibbpf: extern 'bpf_testmod_fentry_test1' (strong): not resolved\nlibbpf: failed to load object 'kprobe_multi'\nlibbpf: failed to load BPF skeleton 'kprobe_multi': -3\ntest_attach_api:FAIL:fentry_raw_skel_load unexpected error: -3\n","failed":true},{"name":"attach_api_addrs","number":5,"message":"test_attach_api_addrs:PASS:kallsyms load failed for \"bpf_fentry_test1\" 0 nsec\ntest_attach_api_addrs:PASS:kallsyms load failed for \"bpf_fentry_test2\" 0 nsec\ntest_attach_api_addrs:PASS:kallsyms load failed for \"bpf_fentry_test3\" 0 nsec\ntest_attach_api_addrs:PASS:kallsyms load failed for \"bpf_fentry_test4\" 0 nsec\ntest_attach_api_addrs:PASS:kallsyms load failed for \"bpf_fentry_test5\" 0 nsec\ntest_attach_api_addrs:PASS:kallsyms load failed for \"bpf_fentry_test6\" 0 nsec\ntest_attach_api_addrs:PASS:kallsyms load failed for \"bpf_fentry_test7\" 0 nsec\ntest_attach_api_addrs:PASS:kallsyms load failed for \"bpf_fentry_test8\" 0 nsec\nlibbpf: extern 'bpf_testmod_fentry_test1' (strong): not resolved\nlibbpf: failed to load object 'kprobe_multi'\nlibbpf: failed to load BPF skeleton 'kprobe_multi': -3\ntest_attach_api:FAIL:fentry_raw_skel_load unexpected error: -3\n","failed":true},{"name":"attach_api_syms","number":6,"message":"libbpf: extern 'bpf_testmod_fentry_test1' (strong): not resolved\nlibbpf: failed to load object 'kprobe_multi'\nlibbpf: failed to load BPF skeleton 'kprobe_multi': -3\ntest_attach_api:FAIL:fentry_raw_skel_load unexpected error: -3\n","failed":true}]},{"name":"libbpf_get_fd_by_id_opts","number":108,"message":"test_libbpf_get_fd_by_id_opts:PASS:test_libbpf_get_fd_by_id_opts__open_and_load 0 nsec\ntest_libbpf_get_fd_by_id_opts:PASS:test_libbpf_get_fd_by_id_opts__attach 0 nsec\ntest_libbpf_get_fd_by_id_opts:PASS:bpf_map_get_info_by_fd 0 nsec\ntest_libbpf_get_fd_by_id_opts:FAIL:bpf_map_get_fd_by_id unexpected bpf_map_get_fd_by_id: actual 31 >= expected 0\n","failed":true,"subtests":[]},{"name":"linked_list","number":114,"message":"","failed":true,"subtests":[{"name":"kptr_missing_lock_push_front","number":1,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_missing_lock_push_back","number":2,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_missing_lock_pop_front","number":3,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_missing_lock_pop_back","number":4,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_missing_lock_push_front","number":5,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_missing_lock_push_back","number":6,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_missing_lock_pop_front","number":7,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_missing_lock_pop_back","number":8,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_missing_lock_push_front","number":9,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_missing_lock_push_back","number":10,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_missing_lock_pop_front","number":11,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_missing_lock_pop_back","number":12,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_missing_lock_push_front","number":13,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_missing_lock_push_back","number":14,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_missing_lock_pop_front","number":15,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_missing_lock_pop_back","number":16,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_kptr_incorrect_lock_push_front","number":17,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_global_incorrect_lock_push_front","number":18,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_map_incorrect_lock_push_front","number":19,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_inner_map_incorrect_lock_push_front","number":20,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_kptr_incorrect_lock_push_back","number":21,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_global_incorrect_lock_push_back","number":22,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_map_incorrect_lock_push_back","number":23,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_inner_map_incorrect_lock_push_back","number":24,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_kptr_incorrect_lock_pop_front","number":25,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_global_incorrect_lock_pop_front","number":26,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_map_incorrect_lock_pop_front","number":27,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_inner_map_incorrect_lock_pop_front","number":28,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_kptr_incorrect_lock_pop_back","number":29,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_global_incorrect_lock_pop_back","number":30,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_map_incorrect_lock_pop_back","number":31,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"kptr_inner_map_incorrect_lock_pop_back","number":32,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_kptr_incorrect_lock_push_front","number":33,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_global_incorrect_lock_push_front","number":34,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_map_incorrect_lock_push_front","number":35,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_inner_map_incorrect_lock_push_front","number":36,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_kptr_incorrect_lock_push_back","number":37,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_global_incorrect_lock_push_back","number":38,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_map_incorrect_lock_push_back","number":39,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_inner_map_incorrect_lock_push_back","number":40,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_kptr_incorrect_lock_pop_front","number":41,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_global_incorrect_lock_pop_front","number":42,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_map_incorrect_lock_pop_front","number":43,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_inner_map_incorrect_lock_pop_front","number":44,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_kptr_incorrect_lock_pop_back","number":45,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_global_incorrect_lock_pop_back","number":46,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_map_incorrect_lock_pop_back","number":47,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"global_inner_map_incorrect_lock_pop_back","number":48,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_kptr_incorrect_lock_push_front","number":49,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_global_incorrect_lock_push_front","number":50,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_map_incorrect_lock_push_front","number":51,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_inner_map_incorrect_lock_push_front","number":52,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_kptr_incorrect_lock_push_back","number":53,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_global_incorrect_lock_push_back","number":54,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_map_incorrect_lock_push_back","number":55,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_inner_map_incorrect_lock_push_back","number":56,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_kptr_incorrect_lock_pop_front","number":57,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_global_incorrect_lock_pop_front","number":58,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_map_incorrect_lock_pop_front","number":59,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_inner_map_incorrect_lock_pop_front","number":60,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_kptr_incorrect_lock_pop_back","number":61,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_global_incorrect_lock_pop_back","number":62,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_map_incorrect_lock_pop_back","number":63,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_inner_map_incorrect_lock_pop_back","number":64,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_kptr_incorrect_lock_push_front","number":65,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_global_incorrect_lock_push_front","number":66,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_map_incorrect_lock_push_front","number":67,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_inner_map_incorrect_lock_push_front","number":68,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_kptr_incorrect_lock_push_back","number":69,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_global_incorrect_lock_push_back","number":70,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_map_incorrect_lock_push_back","number":71,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_inner_map_incorrect_lock_push_back","number":72,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_kptr_incorrect_lock_pop_front","number":73,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_global_incorrect_lock_pop_front","number":74,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_map_incorrect_lock_pop_front","number":75,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_inner_map_incorrect_lock_pop_front","number":76,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_kptr_incorrect_lock_pop_back","number":77,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=32 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_global_incorrect_lock_pop_back","number":78,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=16 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_map_incorrect_lock_pop_back","number":79,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"inner_map_inner_map_incorrect_lock_pop_back","number":80,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: held lock and object are not in the same allocation\nbpf_spin_lock at off=0 must be held for bpf_list_head\nVerifier: \n","failed":true},{"name":"map_compat_kprobe","number":81,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: tracing progs cannot use bpf_{list_head,rb_root} yet\nVerifier: \n","failed":true},{"name":"map_compat_kretprobe","number":82,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: tracing progs cannot use bpf_{list_head,rb_root} yet\nVerifier: \n","failed":true},{"name":"map_compat_tp","number":83,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: tracing progs cannot use bpf_{list_head,rb_root} yet\nVerifier: \n","failed":true},{"name":"map_compat_perf","number":84,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: tracing progs cannot use bpf_{list_head,rb_root} yet\nVerifier: \n","failed":true},{"name":"map_compat_raw_tp","number":85,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: tracing progs cannot use bpf_{list_head,rb_root} yet\nVerifier: \n","failed":true},{"name":"map_compat_raw_tp_w","number":86,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: tracing progs cannot use bpf_{list_head,rb_root} yet\nVerifier: \n","failed":true},{"name":"obj_type_id_oor","number":87,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: local type ID argument must be in range [0, U32_MAX]\nVerifier: \n","failed":true},{"name":"obj_new_no_composite","number":88,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_obj_new type ID argument must be of a struct\nVerifier: \n","failed":true},{"name":"obj_new_no_struct","number":89,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_obj_new type ID argument must be of a struct\nVerifier: \n","failed":true},{"name":"obj_drop_non_zero_off","number":90,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: R1 must have zero offset when passed to release func\nVerifier: \n","failed":true},{"name":"new_null_ret","number":91,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: R0 invalid mem access 'ptr_or_null_'\nVerifier: \n","failed":true},{"name":"obj_new_acq","number":92,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: Unreleased reference id=\nVerifier: \n","failed":true},{"name":"use_after_drop","number":93,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: invalid mem access 'scalar'\nVerifier: \n","failed":true},{"name":"ptr_walk_scalar","number":94,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: type=scalar expected=percpu_ptr_\nVerifier: \n","failed":true},{"name":"direct_read_lock","number":95,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: direct access to bpf_spin_lock is disallowed\nVerifier: \n","failed":true},{"name":"direct_write_lock","number":96,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: direct access to bpf_spin_lock is disallowed\nVerifier: \n","failed":true},{"name":"direct_read_head","number":97,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: direct access to bpf_list_head is disallowed\nVerifier: \n","failed":true},{"name":"direct_write_head","number":98,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: direct access to bpf_list_head is disallowed\nVerifier: \n","failed":true},{"name":"direct_read_node","number":99,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: direct access to bpf_list_node is disallowed\nVerifier: \n","failed":true},{"name":"direct_write_node","number":100,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: direct access to bpf_list_node is disallowed\nVerifier: \n","failed":true},{"name":"use_after_unlock_push_front","number":101,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: invalid mem access 'scalar'\nVerifier: \n","failed":true},{"name":"use_after_unlock_push_back","number":102,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: invalid mem access 'scalar'\nVerifier: \n","failed":true},{"name":"double_push_front","number":103,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: arg#1 expected pointer to allocated object\nVerifier: \n","failed":true},{"name":"double_push_back","number":104,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: arg#1 expected pointer to allocated object\nVerifier: \n","failed":true},{"name":"no_node_value_type","number":105,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_list_node not found at offset=0\nVerifier: \n","failed":true},{"name":"incorrect_value_type","number":106,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: operation on bpf_list_head expects arg#1 bpf_list_node at offset=0 in struct foo, but arg is at offset=0 in struct bar\nVerifier: \n","failed":true},{"name":"incorrect_node_var_off","number":107,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: variable ptr_ access var_off=(0x0; 0xffffffff) disallowed\nVerifier: \n","failed":true},{"name":"incorrect_node_off1","number":108,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_list_node not found at offset=1\nVerifier: \n","failed":true},{"name":"incorrect_node_off2","number":109,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: arg#1 offset=40, but expected bpf_list_node at offset=0 in struct foo\nVerifier: \n","failed":true},{"name":"no_head_type","number":110,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_list_head not found at offset=0\nVerifier: \n","failed":true},{"name":"incorrect_head_var_off1","number":111,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: R1 doesn't have constant offset\nVerifier: \n","failed":true},{"name":"incorrect_head_var_off2","number":112,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: variable ptr_ access var_off=(0x0; 0xffffffff) disallowed\nVerifier: \n","failed":true},{"name":"incorrect_head_off1","number":113,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_list_head not found at offset=17\nVerifier: \n","failed":true},{"name":"incorrect_head_off2","number":114,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: bpf_list_head not found at offset=1\nVerifier: \n","failed":true},{"name":"pop_front_off","number":115,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: 15: (bf) r1 = r6 ; R1_w=ptr_or_null_foo(id=4,ref_obj_id=4,off=40,imm=0) R6_w=ptr_or_null_foo(id=4,ref_obj_id=4,off=40,imm=0) refs=2,4\n16: (85) call bpf_this_cpu_ptr#154\nR1 type=ptr_or_null_ expected=percpu_ptr_\nVerifier: \n","failed":true},{"name":"pop_back_off","number":116,"message":"test_linked_list_fail_prog:PASS:linked_list_fail__open_opts 0 nsec\ntest_linked_list_fail_prog:PASS:bpf_object__find_program_by_name 0 nsec\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list_fail'\nlibbpf: failed to load BPF skeleton 'linked_list_fail': -22\ntest_linked_list_fail_prog:PASS:linked_list_fail__load must fail 0 nsec\ntest_linked_list_fail_prog:FAIL:expected error message unexpected error: -22\nExpected: 15: (bf) r1 = r6 ; R1_w=ptr_or_null_foo(id=4,ref_obj_id=4,off=40,imm=0) R6_w=ptr_or_null_foo(id=4,ref_obj_id=4,off=40,imm=0) refs=2,4\n16: (85) call bpf_this_cpu_ptr#154\nR1 type=ptr_or_null_ expected=percpu_ptr_\nVerifier: \n","failed":true},{"name":"btf: too many locks","number":117,"message":"init_btf:PASS:btf__new_empty 0 nsec\ninit_btf:PASS:btf__add_int 0 nsec\ninit_btf:PASS:btf__add_struct bpf_spin_lock 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_head 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_node 0 nsec\ntest_btf:PASS:init_btf 0 nsec\ntest_btf:PASS:btf__add_struct foo 0 nsec\ntest_btf:PASS:btf__add_struct foo::a 0 nsec\ntest_btf:PASS:btf__add_struct foo::a 0 nsec\ntest_btf:PASS:btf__add_struct foo::a 0 nsec\ntest_btf:FAIL:check btf unexpected check btf: actual 0 != expected -7\n","failed":true},{"name":"btf: missing lock","number":118,"message":"init_btf:PASS:btf__new_empty 0 nsec\ninit_btf:PASS:btf__add_int 0 nsec\ninit_btf:PASS:btf__add_struct bpf_spin_lock 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_head 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_node 0 nsec\ntest_btf:PASS:init_btf 0 nsec\ntest_btf:PASS:btf__add_struct foo 0 nsec\ntest_btf:PASS:btf__add_struct foo::a 0 nsec\ntest_btf:PASS:btf__add_decl_tag contains:baz:a 0 nsec\ntest_btf:PASS:btf__add_struct baz 0 nsec\ntest_btf:PASS:btf__add_field baz::a 0 nsec\ntest_btf:FAIL:check btf unexpected check btf: actual 0 != expected -22\n","failed":true},{"name":"btf: bad offset","number":119,"message":"init_btf:PASS:btf__new_empty 0 nsec\ninit_btf:PASS:btf__add_int 0 nsec\ninit_btf:PASS:btf__add_struct bpf_spin_lock 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_head 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_node 0 nsec\ntest_btf:PASS:init_btf 0 nsec\ntest_btf:PASS:btf__add_struct foo 0 nsec\ntest_btf:PASS:btf__add_field foo::a 0 nsec\ntest_btf:PASS:btf__add_field foo::b 0 nsec\ntest_btf:PASS:btf__add_field foo::c 0 nsec\ntest_btf:PASS:btf__add_decl_tag contains:foo:b 0 nsec\ntest_btf:FAIL:check btf unexpected check btf: actual 0 != expected -17\n","failed":true},{"name":"btf: missing contains:","number":120,"message":"init_btf:PASS:btf__new_empty 0 nsec\ninit_btf:PASS:btf__add_int 0 nsec\ninit_btf:PASS:btf__add_struct bpf_spin_lock 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_head 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_node 0 nsec\ntest_btf:PASS:init_btf 0 nsec\ntest_btf:PASS:btf__add_struct foo 0 nsec\ntest_btf:PASS:btf__add_field foo::a 0 nsec\ntest_btf:PASS:btf__add_field foo::b 0 nsec\ntest_btf:FAIL:check btf unexpected check btf: actual 0 != expected -22\n","failed":true},{"name":"btf: missing struct","number":121,"message":"init_btf:PASS:btf__new_empty 0 nsec\ninit_btf:PASS:btf__add_int 0 nsec\ninit_btf:PASS:btf__add_struct bpf_spin_lock 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_head 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_node 0 nsec\ntest_btf:PASS:init_btf 0 nsec\ntest_btf:PASS:btf__add_struct foo 0 nsec\ntest_btf:PASS:btf__add_field foo::a 0 nsec\ntest_btf:PASS:btf__add_field foo::b 0 nsec\ntest_btf:PASS:btf__add_decl_tag contains:bar:bar 0 nsec\ntest_btf:FAIL:check btf unexpected check btf: actual 0 != expected -2\n","failed":true},{"name":"btf: missing node","number":122,"message":"init_btf:PASS:btf__new_empty 0 nsec\ninit_btf:PASS:btf__add_int 0 nsec\ninit_btf:PASS:btf__add_struct bpf_spin_lock 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_head 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_node 0 nsec\ntest_btf:PASS:init_btf 0 nsec\ntest_btf:PASS:btf__add_struct foo 0 nsec\ntest_btf:PASS:btf__add_field foo::a 0 nsec\ntest_btf:PASS:btf__add_field foo::b 0 nsec\ntest_btf:PASS:btf__add_decl_tag contains:foo:c 0 nsec\ntest_btf:FAIL:check btf unexpected check btf: actual 0 != expected -2\n","failed":true},{"name":"btf: node incorrect type","number":123,"message":"init_btf:PASS:btf__new_empty 0 nsec\ninit_btf:PASS:btf__add_int 0 nsec\ninit_btf:PASS:btf__add_struct bpf_spin_lock 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_head 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_node 0 nsec\ntest_btf:PASS:init_btf 0 nsec\ntest_btf:PASS:btf__add_struct foo 0 nsec\ntest_btf:PASS:btf__add_field foo::a 0 nsec\ntest_btf:PASS:btf__add_field foo::b 0 nsec\ntest_btf:PASS:btf__add_decl_tag contains:bar:a 0 nsec\ntest_btf:PASS:btf__add_struct bar 0 nsec\ntest_btf:PASS:btf__add_field bar::a 0 nsec\ntest_btf:FAIL:check btf unexpected check btf: actual 0 != expected -22\n","failed":true},{"name":"btf: multiple bpf_list_node with name b","number":124,"message":"init_btf:PASS:btf__new_empty 0 nsec\ninit_btf:PASS:btf__add_int 0 nsec\ninit_btf:PASS:btf__add_struct bpf_spin_lock 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_head 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_node 0 nsec\ntest_btf:PASS:init_btf 0 nsec\ntest_btf:PASS:btf__add_struct foo 0 nsec\ntest_btf:PASS:btf__add_field foo::a 0 nsec\ntest_btf:PASS:btf__add_field foo::b 0 nsec\ntest_btf:PASS:btf__add_field foo::c 0 nsec\ntest_btf:PASS:btf__add_field foo::d 0 nsec\ntest_btf:PASS:btf__add_decl_tag contains:foo:b 0 nsec\ntest_btf:FAIL:check btf unexpected check btf: actual 0 != expected -22\n","failed":true},{"name":"btf: owning | owned AA cycle","number":125,"message":"init_btf:PASS:btf__new_empty 0 nsec\ninit_btf:PASS:btf__add_int 0 nsec\ninit_btf:PASS:btf__add_struct bpf_spin_lock 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_head 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_node 0 nsec\ntest_btf:PASS:init_btf 0 nsec\ntest_btf:PASS:btf__add_struct foo 0 nsec\ntest_btf:PASS:btf__add_field foo::a 0 nsec\ntest_btf:PASS:btf__add_field foo::b 0 nsec\ntest_btf:PASS:btf__add_field foo::c 0 nsec\ntest_btf:PASS:btf__add_decl_tag contains:foo:b 0 nsec\ntest_btf:FAIL:check btf unexpected check btf: actual 0 != expected -40\n","failed":true},{"name":"btf: owning | owned ABA cycle","number":126,"message":"init_btf:PASS:btf__new_empty 0 nsec\ninit_btf:PASS:btf__add_int 0 nsec\ninit_btf:PASS:btf__add_struct bpf_spin_lock 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_head 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_node 0 nsec\ntest_btf:PASS:init_btf 0 nsec\ntest_btf:PASS:btf__add_struct foo 0 nsec\ntest_btf:PASS:btf__add_field foo::a 0 nsec\ntest_btf:PASS:btf__add_field foo::b 0 nsec\ntest_btf:PASS:btf__add_field foo::c 0 nsec\ntest_btf:PASS:btf__add_decl_tag contains:bar:b 0 nsec\ntest_btf:PASS:btf__add_struct bar 0 nsec\ntest_btf:PASS:btf__add_field bar::a 0 nsec\ntest_btf:PASS:btf__add_field bar::b 0 nsec\ntest_btf:PASS:btf__add_field bar::c 0 nsec\ntest_btf:PASS:btf__add_decl_tag contains:foo:b 0 nsec\ntest_btf:FAIL:check btf unexpected check btf: actual 0 != expected -40\n","failed":true},{"name":"btf: owning | owned -> owning | owned -> owned","number":129,"message":"init_btf:PASS:btf__new_empty 0 nsec\ninit_btf:PASS:btf__add_int 0 nsec\ninit_btf:PASS:btf__add_struct bpf_spin_lock 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_head 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_node 0 nsec\ntest_btf:PASS:init_btf 0 nsec\ntest_btf:PASS:btf__add_struct foo 0 nsec\ntest_btf:PASS:btf__add_field foo::a 0 nsec\ntest_btf:PASS:btf__add_field foo::b 0 nsec\ntest_btf:PASS:btf__add_field foo::c 0 nsec\ntest_btf:PASS:btf__add_decl_tag contains:bar:b 0 nsec\ntest_btf:PASS:btf__add_struct bar 0 nsec\ntest_btf:PASS:btf__add_field bar:a 0 nsec\ntest_btf:PASS:btf__add_field bar:b 0 nsec\ntest_btf:PASS:btf__add_field bar:c 0 nsec\ntest_btf:PASS:btf__add_decl_tag contains:baz:a 0 nsec\ntest_btf:PASS:btf__add_struct baz 0 nsec\ntest_btf:PASS:btf__add_field baz:a 0 nsec\ntest_btf:FAIL:check btf unexpected check btf: actual 0 != expected -40\n","failed":true},{"name":"btf: owning -> owning | owned -> owning | owned -> owned","number":130,"message":"init_btf:PASS:btf__new_empty 0 nsec\ninit_btf:PASS:btf__add_int 0 nsec\ninit_btf:PASS:btf__add_struct bpf_spin_lock 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_head 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_node 0 nsec\ntest_btf:PASS:init_btf 0 nsec\ntest_btf:PASS:btf__add_struct foo 0 nsec\ntest_btf:PASS:btf__add_field foo::a 0 nsec\ntest_btf:PASS:btf__add_field foo::b 0 nsec\ntest_btf:PASS:btf__add_decl_tag contains:bar:b 0 nsec\ntest_btf:PASS:btf__add_struct bar 0 nsec\ntest_btf:PASS:btf__add_field bar::a 0 nsec\ntest_btf:PASS:btf__add_field bar::b 0 nsec\ntest_btf:PASS:btf__add_field bar::c 0 nsec\ntest_btf:PASS:btf__add_decl_tag 0 nsec\ntest_btf:PASS:btf__add_struct baz 0 nsec\ntest_btf:PASS:btf__add_field bar::a 0 nsec\ntest_btf:PASS:btf__add_field bar::b 0 nsec\ntest_btf:PASS:btf__add_field bar::c 0 nsec\ntest_btf:PASS:btf__add_decl_tag contains:bam:a 0 nsec\ntest_btf:PASS:btf__add_struct bam 0 nsec\ntest_btf:PASS:btf__add_field bam::a 0 nsec\ntest_btf:FAIL:check btf unexpected check btf: actual 0 != expected -40\n","failed":true},{"name":"btf: list_node and rb_node in same struct","number":131,"message":"init_btf:PASS:btf__new_empty 0 nsec\ninit_btf:PASS:btf__add_int 0 nsec\ninit_btf:PASS:btf__add_struct bpf_spin_lock 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_head 0 nsec\ninit_btf:PASS:btf__add_struct bpf_list_node 0 nsec\ntest_btf:PASS:init_btf 0 nsec\ntest_btf:PASS:btf__add_struct bpf_rb_node 0 nsec\ntest_btf:PASS:btf__add_struct bar 0 nsec\ntest_btf:PASS:btf__add_field bar::a 0 nsec\ntest_btf:PASS:btf__add_field bar::c 0 nsec\ntest_btf:PASS:btf__add_struct foo 0 nsec\ntest_btf:PASS:btf__add_field foo::a 0 nsec\ntest_btf:PASS:btf__add_field foo::b 0 nsec\ntest_btf:PASS:btf__add_decl_tag contains:bar:a 0 nsec\ntest_btf:FAIL:check btf unexpected check btf: actual 0 != expected -22\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list'\nlibbpf: failed to load BPF skeleton 'linked_list': -22\ntest_linked_list_success:FAIL:linked_list__open_and_load unexpected error: -22\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list'\nlibbpf: failed to load BPF skeleton 'linked_list': -22\ntest_linked_list_success:FAIL:linked_list__open_and_load unexpected error: -22\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list'\nlibbpf: failed to load BPF skeleton 'linked_list': -22\ntest_linked_list_success:FAIL:linked_list__open_and_load unexpected error: -22\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list'\nlibbpf: failed to load BPF skeleton 'linked_list': -22\ntest_linked_list_success:FAIL:linked_list__open_and_load unexpected error: -22\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list'\nlibbpf: failed to load BPF skeleton 'linked_list': -22\ntest_linked_list_success:FAIL:linked_list__open_and_load unexpected error: -22\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list'\nlibbpf: failed to load BPF skeleton 'linked_list': -22\ntest_linked_list_success:FAIL:linked_list__open_and_load unexpected error: -22\nlibbpf: extern (func ksym) 'bpf_list_pop_back': not found in kernel or module BTFs\nlibbpf: failed to load object 'linked_list'\nlibbpf: failed to load BPF skeleton 'linked_list': -22\ntest_linked_list_success:FAIL:linked_list__open_and_load unexpected error: -22\n","failed":true}]},{"name":"lru_bug","number":124,"message":"test_lru_bug:PASS:lru_bug__open_and_load 0 nsec\ntest_lru_bug:PASS:lru_bug__attach 0 nsec\ntest_lru_bug:FAIL:prealloc_lru_pop doesn't call check_and_init_map_value unexpected error: 1 (errno 2)\n","failed":true,"subtests":[]},{"name":"module_attach","number":135,"message":"test_module_attach:PASS:skel_open 0 nsec\ntest_module_attach:FAIL:set_attach_target unexpected error: -3 (errno 3)\nlibbpf: prog 'handle_raw_tp': BPF program load failed: Invalid argument\nlibbpf: prog 'handle_raw_tp': -- BEGIN PROG LOAD LOG --\nR1 type=ctx expected=fp\n0: R1=ctx(off=0,imm=0) R10=fp0\n; int BPF_PROG(handle_raw_tp,\n0: \nfailed to resolve CO-RE relocation [6] struct bpf_testmod_test_read_ctx.len (0:2 @ offset 16)\nprocessed 1 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0\n-- END PROG LOAD LOG --\nlibbpf: prog 'handle_raw_tp': failed to load: -22\nlibbpf: failed to load object 'test_module_attach'\nlibbpf: failed to load BPF skeleton 'test_module_attach': -22\ntest_module_attach:FAIL:skel_load failed to load skeleton\n","failed":true,"subtests":[]},{"name":"module_fentry_shadow","number":136,"message":"test_module_fentry_shadow:PASS:load_vmlinux_btf 0 nsec\n(/data/users/chantra/bpf-next/tools/testing/selftests/bpf/prog_tests/module_fentry_shadow.c:21: errno: No such file or directory) failed to iterate BTF objects\ntest_module_fentry_shadow:FAIL:get_bpf_testmod_btf_fd unexpected get_bpf_testmod_btf_fd: actual -2 < expected 0\n","failed":true,"subtests":[]},{"name":"mptcp","number":137,"message":"","failed":true,"subtests":[{"name":"base","number":1,"message":"test_base:PASS:test__join_cgroup 0 nsec\ntest_base:PASS:ip netns add mptcp_ns 0 nsec\ntest_base:PASS:ip -net mptcp_ns link set dev lo up 0 nsec\nopen_netns:PASS:malloc token 0 nsec\nopen_netns:PASS:open /proc/self/ns/net 0 nsec\nopen_netns:PASS:open netns fd 0 nsec\nopen_netns:PASS:setns 0 nsec\ntest_base:PASS:open_netns 0 nsec\ntest_base:PASS:start_server 0 nsec\nlibbpf: prog 'trace_mptcp_pm_new_connection': failed to find kernel BTF type ID of 'mptcp_pm_new_connection': -3\nlibbpf: prog 'trace_mptcp_pm_new_connection': failed to prepare load attributes: -3\nlibbpf: prog 'trace_mptcp_pm_new_connection': failed to load: -3\nlibbpf: failed to load object 'mptcp_sock'\nlibbpf: failed to load BPF skeleton 'mptcp_sock': -3\nrun_test:FAIL:skel_open_load unexpected error: -3\ntest_base:FAIL:run_test tcp unexpected error: -5 (errno 3)\n(network_helpers.c:88: errno: Protocol not supported) Failed to create server socket\ntest_base:FAIL:start_mptcp_server unexpected start_mptcp_server: actual -1 < expected 0\nclose_netns:PASS:setns 0 nsec\n","failed":true}]},{"name":"rcu_read_lock","number":164,"message":"test_rcu_read_lock:PASS:join_cgroup /rcu_read_lock 0 nsec\n","failed":true,"subtests":[{"name":"success","number":1,"message":"test_success:PASS:skel_open 0 nsec\nlibbpf: extern (func ksym) 'bpf_key_put': not found in kernel or module BTFs\nlibbpf: failed to load object 'rcu_read_lock'\nlibbpf: failed to load BPF skeleton 'rcu_read_lock': -22\ntest_success:FAIL:skel_load unexpected error: -22 (errno 22)\n","failed":true},{"name":"rcuptr_acquire","number":2,"message":"test_rcuptr_acquire:PASS:skel_open 0 nsec\nlibbpf: extern (func ksym) 'bpf_key_put': not found in kernel or module BTFs\nlibbpf: failed to load object 'rcu_read_lock'\nlibbpf: failed to load BPF skeleton 'rcu_read_lock': -22\ntest_rcuptr_acquire:FAIL:skel_load unexpected error: -22 (errno 22)\n","failed":true}]},{"name":"ringbuf","number":169,"message":"","failed":true,"subtests":[{"name":"ringbuf_map_key","number":2,"message":"ringbuf_map_key_subtest:PASS:test_ringbuf_map_key_lskel__open 0 nsec\nringbuf_map_key_subtest:FAIL:test_ringbuf_map_key_lskel__load unexpected error: -13 (errno 13)\n","failed":true}]},{"name":"setget_sockopt","number":175,"message":"create_netns:PASS:create netns 0 nsec\ncreate_netns:PASS:set lo up 0 nsec\ncreate_netns:PASS:add veth 0 nsec\ncreate_netns:PASS:bring veth up 0 nsec\ntest_setget_sockopt:PASS:open skel 0 nsec\ntest_setget_sockopt:PASS:if_nametoindex 0 nsec\nlibbpf: prog 'socket_post_create': BPF program load failed: Invalid argument\nlibbpf: prog 'socket_post_create': -- BEGIN PROG LOAD LOG --\nprocessed 0 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0\n-- END PROG LOAD LOG --\nlibbpf: prog 'socket_post_create': failed to load: -22\nlibbpf: failed to load object 'setget_sockopt'\nlibbpf: failed to load BPF skeleton 'setget_sockopt': -22\ntest_setget_sockopt:FAIL:load skel unexpected error: -22 (errno 22)\n","failed":true,"subtests":[]},{"name":"task_local_storage","number":213,"message":"","failed":true,"subtests":[{"name":"recursion","number":3,"message":"test_recursion:PASS:sys_pidfd_open 0 nsec\ntest_recursion:PASS:skel_open_and_load 0 nsec\ntest_recursion:PASS:skel_attach 0 nsec\ntest_recursion:PASS:lookup map_a 0 nsec\ntest_recursion:FAIL:map_a value unexpected map_a value: actual 200 != expected 201\ntest_recursion:FAIL:bpf_task_storage_delete busy unexpected bpf_task_storage_delete busy: actual 0 != expected 1\ntest_recursion:PASS:lookup map_b 0 nsec\ntest_recursion:PASS:map_b value 0 nsec\ntest_recursion:PASS:get prog info 0 nsec\ntest_recursion:FAIL:on_lookup prog recursion unexpected on_lookup prog recursion: actual 0 <= expected 0\ntest_recursion:PASS:get prog info 0 nsec\ntest_recursion:PASS:on_update prog recursion 0 nsec\ntest_recursion:PASS:get prog info 0 nsec\ntest_recursion:PASS:on_enter prog recursion 0 nsec\n","failed":true}]},{"name":"test_bprm_opts","number":222,"message":"test_test_bprm_opts:PASS:skel_load 0 nsec\ntest_test_bprm_opts:PASS:attach 0 nsec\ntest_test_bprm_opts:PASS:run_set_secureexec:0 0 nsec\ntest_test_bprm_opts:FAIL:run_set_secureexec:1 err = -22\n","failed":true,"subtests":[]},{"name":"test_ima","number":224,"message":"test_test_ima:PASS:skel_load 0 nsec\ntest_test_ima:PASS:ringbuf 0 nsec\ntest_test_ima:PASS:attach 0 nsec\ntest_test_ima:PASS:mkdtemp 0 nsec\ntest_test_ima:FAIL:failed to run command ./ima_setup.sh setup /tmp/ima_measuredO4XC5Q, errno = 2\ntest_test_ima:PASS:failed to run command 0 nsec\n","failed":true,"subtests":[]},{"name":"test_local_storage","number":225,"message":"libbpf: prog 'socket_bind': BPF program load failed: Invalid argument\nlibbpf: prog 'socket_bind': -- BEGIN PROG LOAD LOG --\nR1 type=ctx expected=fp\n0: R1=ctx(off=0,imm=0) R10=fp0\n; int BPF_PROG(socket_bind, struct socket *sock, struct sockaddr *address,\n0: (79) r6 = *(u64 *)(r1 +0)\nfunc 'bpf_lsm_socket_bind' arg0 has btf_id 3290 type STRUCT 'socket'\n1: R1=ctx(off=0,imm=0) R6_w=ptr_socket(off=0,imm=0)\n; __u32 pid = bpf_get_current_pid_tgid() >> 32;\n1: (85) call bpf_get_current_pid_tgid#14 ; R0_w=scalar()\n; if (pid != monitored_pid)\n2: (18) r1 = 0xffffc90001693000 ; R1_w=map_value(off=0,ks=4,vs=4,imm=0)\n4: (61) r1 = *(u32 *)(r1 +0) ; R1_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff))\n; __u32 pid = bpf_get_current_pid_tgid() >> 32;\n5: (77) r0 >>= 32 ; R0_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff))\n; if (pid != monitored_pid)\n6: (5e) if w1 != w0 goto pc+48 ; R0_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff)) R1_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff))\n; storage = bpf_sk_storage_get(&sk_storage_map, sock->sk, 0, 0);\n7: (79) r2 = *(u64 *)(r6 +24) ; R2_w=ptr_sock(off=0,imm=0) R6_w=ptr_socket(off=0,imm=0)\n; storage = bpf_sk_storage_get(&sk_storage_map, sock->sk, 0, 0);\n8: (18) r1 = 0xffff88812b8be000 ; R1_w=map_ptr(off=0,ks=4,vs=16,imm=0)\n10: (b7) r3 = 0 ; R3_w=0\n11: (b7) r4 = 0 ; R4_w=0\n12: (85) call bpf_sk_storage_get#107 ; R0=map_value_or_null(id=1,off=0,ks=4,vs=16,imm=0)\n; if (!storage)\n13: (15) if r0 == 0x0 goto pc+41 ; R0=map_value(off=0,ks=4,vs=16,imm=0)\n; sk_storage_result = -1;\n14: (18) r1 = 0xffffc90001696004 ; R1_w=map_value(off=4,ks=4,vs=8,imm=0)\n16: (b4) w2 = -1 ; R2_w=4294967295\n17: (63) *(u32 *)(r1 +0) = r2 ; R1_w=map_value(off=4,ks=4,vs=8,imm=0) R2_w=4294967295\n; if (storage->value != DUMMY_STORAGE_VALUE)\n18: (61) r1 = *(u32 *)(r0 +8) ; R0=map_value(off=0,ks=4,vs=16,imm=0) R1_w=scalar(umax=4294967295,var_off=(0x0; 0xffffffff))\n; if (storage->value != DUMMY_STORAGE_VALUE)\n19: (56) if w1 != 0xdeadbeef goto pc+35 ; R1_w=3735928559\n; storage = bpf_sk_storage_get(&sk_storage_map2, sock->sk, 0,\n20: (79) r2 = *(u64 *)(r6 +24) ; R2_w=ptr_sock(off=0,imm=0) R6=ptr_socket(off=0,imm=0)\n; storage = bpf_sk_storage_get(&sk_storage_map2, sock->sk, 0,\n21: (18) r1 = 0xffff88812b8bde00 ; R1_w=map_ptr(off=0,ks=4,vs=16,imm=0)\n23: (b7) r3 = 0 ; R3_w=0\n24: (b7) r4 = 1 ; R4_w=1\n25: (85) call bpf_sk_storage_get#107 ; R0=map_value_or_null(id=2,off=0,ks=4,vs=16,imm=0)\n; if (!storage)\n26: (15) if r0 == 0x0 goto pc+28 ; R0=map_value(off=0,ks=4,vs=16,imm=0)\n; if (bpf_sk_storage_delete(&sk_storage_map2, sock->sk))\n27: (79) r2 = *(u64 *)(r6 +24) ; R2_w=ptr_sock(off=0,imm=0) R6=ptr_socket(off=0,imm=0)\n; if (bpf_sk_storage_delete(&sk_storage_map2, sock->sk))\n28: (18) r1 = 0xffff88812b8bde00 ; R1_w=map_ptr(off=0,ks=4,vs=16,imm=0)\n30: (85) call bpf_sk_storage_delete#108 ; R0_w=scalar()\n; if (bpf_sk_storage_delete(&sk_storage_map2, sock->sk))\n31: (55) if r0 != 0x0 goto pc+23 ; R0_w=0\n; storage = bpf_sk_storage_get(&sk_storage_map2, sock->sk, 0,\n32: (79) r2 = *(u64 *)(r6 +24) ; R2_w=ptr_sock(off=0,imm=0) R6=ptr_socket(off=0,imm=0)\n; storage = bpf_sk_storage_get(&sk_storage_map2, sock->sk, 0,\n33: (18) r1 = 0xffff88812b8bde00 ; R1_w=map_ptr(off=0,ks=4,vs=16,imm=0)\n35: (b7) r3 = 0 ; R3_w=0\n36: (b7) r4 = 1 ; R4_w=1\n37: (85) call bpf_sk_storage_get#107 ; R0=map_value_or_null(id=3,off=0,ks=4,vs=16,imm=0)\n; if (!storage)\n38: (15) if r0 == 0x0 goto pc+16 ; R0=map_value(off=0,ks=4,vs=16,imm=0)\n; if (bpf_sk_storage_delete(&sk_storage_map, sock->sk))\n39: (79) r2 = *(u64 *)(r6 +24) ; R2_w=ptr_sock(off=0,imm=0) R6=ptr_socket(off=0,imm=0)\n; if (bpf_sk_storage_delete(&sk_storage_map, sock->sk))\n40: (18) r1 = 0xffff88812b8be000 ; R1_w=map_ptr(off=0,ks=4,vs=16,imm=0)\n42: (85) call bpf_sk_storage_delete#108 ; R0_w=scalar()\n; if (bpf_sk_storage_delete(&sk_storage_map, sock->sk))\n43: (55) if r0 != 0x0 goto pc+11 ; R0_w=0\n; if (!sock->sk->sk_bpf_storage || sock->sk->sk_bpf_storage->smap)\n44: (79) r1 = *(u64 *)(r6 +24) ; R1_w=ptr_sock(off=0,imm=0) R6=ptr_socket(off=0,imm=0)\n; if (!sock->sk->sk_bpf_storage || sock->sk->sk_bpf_storage->smap)\n45: (79) r1 = *(u64 *)(r1 +728) ; R1_w=ptr_bpf_local_storage(off=0,imm=0)\n; if (!sock->sk->sk_bpf_storage || sock->sk->sk_bpf_storage->smap)\n46: (15) if r1 == 0x0 goto pc+8 ; R1_w=ptr_bpf_local_storage(off=0,imm=0)\n; if (!sock->sk->sk_bpf_storage || sock->sk->sk_bpf_storage->smap)\n47: (79) r1 = *(u64 *)(r6 +24) ; R1_w=ptr_sock(off=0,imm=0) R6=ptr_socket(off=0,imm=0)\n; if (!sock->sk->sk_bpf_storage || sock->sk->sk_bpf_storage->smap)\n48: (79) r1 = *(u64 *)(r1 +728) ; R1_w=ptr_bpf_local_storage(off=0,imm=0)\n; if (!sock->sk->sk_bpf_storage || sock->sk->sk_bpf_storage->smap)\n49: \nfailed to resolve CO-RE relocation [1821] struct bpf_local_storage.smap (0:1 @ offset 128)\nprocessed 43 insns (limit 1000000) max_states_per_insn 0 total_states 3 peak_states 3 mark_read 1\n-- END PROG LOAD LOG --\nlibbpf: prog 'socket_bind': failed to load: -22\nlibbpf: failed to load object 'local_storage'\nlibbpf: failed to load BPF skeleton 'local_storage': -22\ntest_test_local_storage:FAIL:skel_load unexpected error: -22\n","failed":true,"subtests":[]},{"name":"test_lsm","number":226,"message":"test_test_lsm:PASS:lsm_skel_load 0 nsec\ntest_lsm:PASS:attach 0 nsec\nlibbpf: prog 'test_int_hook': failed to attach: Device or resource busy\ntest_lsm:PASS:attach_link 0 nsec\ntest_lsm:PASS:exec_cmd 0 nsec\ntest_lsm:FAIL:bprm_count unexpected bprm_count: actual 0 != expected 1\ntest_lsm:FAIL:stack_mprotect unexpected stack_mprotect: actual 0 != expected -1\ntest_test_lsm:PASS:test_lsm_first_attach 0 nsec\ntest_lsm:PASS:attach 0 nsec\nlibbpf: prog 'test_int_hook': failed to attach: Device or resource busy\ntest_lsm:PASS:attach_link 0 nsec\ntest_lsm:PASS:exec_cmd 0 nsec\ntest_lsm:FAIL:bprm_count unexpected bprm_count: actual 0 != expected 1\ntest_lsm:FAIL:stack_mprotect unexpected stack_mprotect: actual 0 != expected -1\ntest_test_lsm:PASS:test_lsm_second_attach 0 nsec\n","failed":true,"subtests":[]},{"name":"timer","number":231,"message":"serial_test_timer:PASS:timer_skel_load 0 nsec\ntimer:PASS:timer_attach 0 nsec\ntimer:PASS:callback_check1 0 nsec\ntimer:PASS:callback2_check1 0 nsec\ntimer:PASS:test_run 0 nsec\ntimer:PASS:test_run 0 nsec\ntimer:PASS:callback_check2 0 nsec\ntimer:PASS:callback2_check2 0 nsec\ntimer:PASS:bss_data 0 nsec\ntimer:FAIL:abs_data unexpected abs_data: actual 0 != expected 12\ntimer:PASS:err 0 nsec\ntimer:PASS:ok 0 nsec\nserial_test_timer:PASS:timer 0 nsec\n","failed":true,"subtests":[]},{"name":"tracing_struct","number":239,"message":"libbpf: prog 'test_struct_arg_1': failed to find kernel BTF type ID of 'bpf_testmod_test_struct_arg_1': -3\nlibbpf: prog 'test_struct_arg_1': failed to prepare load attributes: -3\nlibbpf: prog 'test_struct_arg_1': failed to load: -3\nlibbpf: failed to load object 'tracing_struct'\nlibbpf: failed to load BPF skeleton 'tracing_struct': -3\ntest_fentry:FAIL:tracing_struct__open_and_load unexpected error: -3\n","failed":true,"subtests":[]},{"name":"trampoline_count","number":240,"message":"get_bpf_max_tramp_links:PASS:vmlinux btf 0 nsec\nserial_test_trampoline_count:FAIL:bpf_max_tramp_links unexpected bpf_max_tramp_links: actual -1 < expected 1\n","failed":true,"subtests":[]},{"name":"user_ringbuf","number":248,"message":"","failed":true,"subtests":[{"name":"test_user_ringbuf_post_misaligned","number":2,"message":"open_load_ringbuf_skel:PASS:skel_open 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nlibbpf: map 'user_ringbuf': failed to create: Invalid argument(-22)\nlibbpf: failed to load object 'user_ringbuf_success'\nlibbpf: failed to load BPF skeleton 'user_ringbuf_success': -22\nopen_load_ringbuf_skel:FAIL:skel_load unexpected error: -22 (errno 22)\ntest_user_ringbuf_post_misaligned:FAIL:misaligned_skel unexpected error: -12 (errno 22)\n","failed":true},{"name":"test_user_ringbuf_post_producer_wrong_offset","number":3,"message":"open_load_ringbuf_skel:PASS:skel_open 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nlibbpf: map 'user_ringbuf': failed to create: Invalid argument(-22)\nlibbpf: failed to load object 'user_ringbuf_success'\nlibbpf: failed to load BPF skeleton 'user_ringbuf_success': -22\nopen_load_ringbuf_skel:FAIL:skel_load unexpected error: -22 (errno 22)\ntest_user_ringbuf_post_producer_wrong_offset:FAIL:wrong_offset_skel unexpected error: -12 (errno 22)\n","failed":true},{"name":"test_user_ringbuf_post_larger_than_ringbuf_sz","number":4,"message":"open_load_ringbuf_skel:PASS:skel_open 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nlibbpf: map 'user_ringbuf': failed to create: Invalid argument(-22)\nlibbpf: failed to load object 'user_ringbuf_success'\nlibbpf: failed to load BPF skeleton 'user_ringbuf_success': -22\nopen_load_ringbuf_skel:FAIL:skel_load unexpected error: -22 (errno 22)\ntest_user_ringbuf_post_larger_than_ringbuf_sz:FAIL:huge_sample_skel unexpected error: -12 (errno 22)\n","failed":true},{"name":"test_user_ringbuf_basic","number":5,"message":"open_load_ringbuf_skel:PASS:skel_open 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nlibbpf: map 'user_ringbuf': failed to create: Invalid argument(-22)\nlibbpf: failed to load object 'user_ringbuf_success'\nlibbpf: failed to load BPF skeleton 'user_ringbuf_success': -22\nopen_load_ringbuf_skel:FAIL:skel_load unexpected error: -22 (errno 22)\ntest_user_ringbuf_basic:FAIL:ringbuf_basic_skel unexpected error: -12 (errno 22)\n","failed":true},{"name":"test_user_ringbuf_sample_full_ring_buffer","number":6,"message":"open_load_ringbuf_skel:PASS:skel_open 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nlibbpf: map 'user_ringbuf': failed to create: Invalid argument(-22)\nlibbpf: failed to load object 'user_ringbuf_success'\nlibbpf: failed to load BPF skeleton 'user_ringbuf_success': -22\nopen_load_ringbuf_skel:FAIL:skel_load unexpected error: -22 (errno 22)\ntest_user_ringbuf_sample_full_ring_buffer:FAIL:ringbuf_full_sample_skel unexpected error: -12 (errno 22)\n","failed":true},{"name":"test_user_ringbuf_post_alignment_autoadjust","number":7,"message":"open_load_ringbuf_skel:PASS:skel_open 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nlibbpf: map 'user_ringbuf': failed to create: Invalid argument(-22)\nlibbpf: failed to load object 'user_ringbuf_success'\nlibbpf: failed to load BPF skeleton 'user_ringbuf_success': -22\nopen_load_ringbuf_skel:FAIL:skel_load unexpected error: -22 (errno 22)\ntest_user_ringbuf_post_alignment_autoadjust:FAIL:ringbuf_align_autoadjust_skel unexpected error: -12 (errno 22)\n","failed":true},{"name":"test_user_ringbuf_overfill","number":8,"message":"open_load_ringbuf_skel:PASS:skel_open 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nlibbpf: map 'user_ringbuf': failed to create: Invalid argument(-22)\nlibbpf: failed to load object 'user_ringbuf_success'\nlibbpf: failed to load BPF skeleton 'user_ringbuf_success': -22\nopen_load_ringbuf_skel:FAIL:skel_load unexpected error: -22 (errno 22)\n","failed":true},{"name":"test_user_ringbuf_discards_properly_ignored","number":9,"message":"open_load_ringbuf_skel:PASS:skel_open 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nlibbpf: map 'user_ringbuf': failed to create: Invalid argument(-22)\nlibbpf: failed to load object 'user_ringbuf_success'\nlibbpf: failed to load BPF skeleton 'user_ringbuf_success': -22\nopen_load_ringbuf_skel:FAIL:skel_load unexpected error: -22 (errno 22)\n","failed":true},{"name":"test_user_ringbuf_loop","number":10,"message":"open_load_ringbuf_skel:PASS:skel_open 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nlibbpf: map 'user_ringbuf': failed to create: Invalid argument(-22)\nlibbpf: failed to load object 'user_ringbuf_success'\nlibbpf: failed to load BPF skeleton 'user_ringbuf_success': -22\nopen_load_ringbuf_skel:FAIL:skel_load unexpected error: -22 (errno 22)\n","failed":true},{"name":"test_user_ringbuf_msg_protocol","number":11,"message":"open_load_ringbuf_skel:PASS:skel_open 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nlibbpf: map 'user_ringbuf': failed to create: Invalid argument(-22)\nlibbpf: failed to load object 'user_ringbuf_success'\nlibbpf: failed to load BPF skeleton 'user_ringbuf_success': -22\nopen_load_ringbuf_skel:FAIL:skel_load unexpected error: -22 (errno 22)\ntest_user_ringbuf_msg_protocol:FAIL:create_ringbufs unexpected error: -12 (errno 22)\n","failed":true},{"name":"test_user_ringbuf_blocking_reserve","number":12,"message":"open_load_ringbuf_skel:PASS:skel_open 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nopen_load_ringbuf_skel:PASS:set_max_entries 0 nsec\nlibbpf: map 'user_ringbuf': failed to create: Invalid argument(-22)\nlibbpf: failed to load object 'user_ringbuf_success'\nlibbpf: failed to load BPF skeleton 'user_ringbuf_success': -22\nopen_load_ringbuf_skel:FAIL:skel_load unexpected error: -22 (errno 22)\ntester_init:PASS:tester_log_buf 0 nsec\nrun_subtest:PASS:obj_open_mem 0 nsec\n","failed":true}]},{"name":"verify_pkcs7_sig","number":279,"message":"test_verify_pkcs7_sig:PASS:mkdtemp 0 nsec\ntest_verify_pkcs7_sig:PASS:_run_setup_process 0 nsec\ntest_verify_pkcs7_sig:PASS:test_verify_pkcs7_sig__open 0 nsec\nlibbpf: extern (func ksym) 'bpf_key_put': not found in kernel or module BTFs\nlibbpf: failed to load object 'test_verify_pkcs7_sig'\nlibbpf: failed to load BPF skeleton 'test_verify_pkcs7_sig': -22\ntest_verify_pkcs7_sig:FAIL:test_verify_pkcs7_sig__load unexpected error: -22 (errno 22)\n","failed":true,"subtests":[]}]} diff --git a/run-vmtest/print_test_summary.py b/run-vmtest/print_test_summary.py new file mode 100755 index 0000000..412323f --- /dev/null +++ b/run-vmtest/print_test_summary.py @@ -0,0 +1,105 @@ +#!/bin/python3 +# prints a summary of the tests to both the console and the job summary: +# https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary +# +# To test the output of the GH test summary: +# python3 run-vmtest/print_test_summary.py -j run-vmtest/fixtures/test_progs.json -s /dev/stderr > /dev/null +# To test the output of the console: +# python3 run-vmtest/print_test_summary.py -j run-vmtest/fixtures/test_progs.json -s /dev/stderr 2> /dev/null + +import argparse +import json + + +def parse_args(): + parser = argparse.ArgumentParser() + parser.add_argument( + "-j", + "--json-summary", + required=True, + metavar="FILE", + help="test_progs's json summary file", + ) + parser.add_argument( + "-s", + "--step-summary", + required=True, + metavar="FILE", + help="Github step summary file", + ) + parser.add_argument( + "-a", "--append", action="store_true", help="Append to github step summary file" + ) + return parser.parse_args() + + +def notice(text: str) -> str: + return f"::notice::{text}" + + +def error(text: str) -> str: + return f"::error::{text}" + + +def markdown_summary(json_summary: json): + return f"""- :heavy_check_mark: Success: {json_summary['success']}/{json_summary['success_subtest']} +- :next_track_button: Skipped: ${json_summary['skipped']} +- :x: Failed: {json_summary['failed']}""" + + +def console_summary(json_summary: json): + return f"Success: {json_summary['success']}/{json_summary['success_subtest']}, Skipped: {json_summary['skipped']}, Failed: {json_summary['failed']}" + + +def log_gh_summary(file, text: str): + print(text, file=file) + + +def log_console(text: str): + print(text) + + +def group(text: str, title: str = "", error: bool = False) -> str: + if error and title: + title = f"\033[1;31mError:\033[0m {title}" + return f"""::group::{title} +{text} +::endgroup::""" + + +def test_error_console_log(test_error: str, test_message: str) -> str: + error_msg = error(test_error) + if test_message: + error_msg += "\n" + test_message.strip() + return group(error_msg, title=test_error, error=True) + else: + return error_msg + + +if __name__ == "__main__": + args = parse_args() + step_open_mode = "a" if args.append else "w" + json_summary = None + + with open(args.json_summary, "r") as f: + json_summary = json.load(f) + + with open(args.step_summary, step_open_mode) as f: + log_gh_summary(f, "# Tests summary") + log_gh_summary(f, markdown_summary(json_summary)) + + log_console(notice(console_summary(json_summary))) + + for test in json_summary["results"]: + test_name = test["name"] + test_number = test["number"] + if test["failed"]: + test_log = f"#{test_number} {test_name}" + log_gh_summary(f, test_log) + log_console(test_error_console_log(test_log, test["message"])) + + for subtest in test["subtests"]: + if subtest["failed"]: + subtest_log = f"#{test_number}/{subtest['number']} {test_name}/{subtest['name']}" + log_gh_summary(f, subtest_log) + log_console(test_error_console_log(subtest_log, subtest["message"])) diff --git a/run-vmtest/run.sh b/run-vmtest/run.sh new file mode 100755 index 0000000..c8d5306 --- /dev/null +++ b/run-vmtest/run.sh @@ -0,0 +1,79 @@ +#!/bin/bash + +set -euo pipefail +trap 'exit 2' ERR + +source $(cd $(dirname $0) && pwd)/../helpers.sh + +foldable start bpftool_checks "Running bpftool checks..." +bpftool_exitstatus=0 + +# bpftool checks are aimed at checking type names, documentation, shell +# completion etc. against the current kernel, so only run on LATEST. +if [[ "${KERNEL}" = 'LATEST' ]]; then + # "&& true" does not change the return code (it is not executed if the + # Python script fails), but it prevents the trap on ERR set at the top + # of this file to trigger on failure. + "${REPO_ROOT}/${KERNEL_ROOT}/tools/testing/selftests/bpf/test_bpftool_synctypes.py" && true + bpftool_exitstatus=$? + if [[ $bpftool_exitstatus -eq 0 ]]; then + echo "bpftool checks passed successfully." + else + echo "bpftool checks returned ${bpftool_exitstatus}." + fi +else + echo "bpftool checks skipped." +fi + +bpftool_exitstatus="bpftool:${bpftool_exitstatus}" +foldable end bpftool_checks + +foldable start vmtest "Starting virtual machine..." + +# HACK: We need to unmount /tmp to access /tmp from the container.... + +vmtest -k "${VMLINUZ}" --kargs "panic=-1 sysctl.vm.panic_on_oom=1" "umount /tmp && \ + /bin/mount bpffs /sys/fs/bpf -t bpf && \ + ip link set lo up && \ + cd '${GITHUB_WORKSPACE}' && \ + ./ci/vmtest/vmtest_selftests.sh ${KERNEL_TEST}" + +foldable end vmtest + +foldable start collect_status "Collecting exit status" + +exitfile="${bpftool_exitstatus}\n" +exitfile+="$(cat exitstatus 2>/dev/null)" +exitstatus="$(echo -e "$exitfile" | awk --field-separator ':' \ + 'BEGIN { s=0 } { if ($2) {s=1} } END { print s }')" + +if [[ "$exitstatus" =~ ^[0-9]+$ ]]; then + printf '\nTests exit status: %s\n' "$exitstatus" >&2 +else + printf '\nCould not read tests exit status ("%s")\n' "$exitstatus" >&2 + exitstatus=1 +fi + +foldable end collect_status + +# Try to collect json summary from VM +if [[ -n ${KERNEL_TEST} && ${KERNEL_TEST} =~ test_progs* ]] +then + ## Job summary + "${GITHUB_ACTION_PATH}/print_test_summary.py" -s "${GITHUB_STEP_SUMMARY}" -j "${KERNEL_TEST}.json" +fi + +# Final summary - Don't use a fold, keep it visible +echo -e "\033[1;33mTest Results:\033[0m" +echo -e "$exitfile" | while read result; do + testgroup=${result%:*} + status=${result#*:} + # Print final result for each group of tests + if [[ "$status" -eq 0 ]]; then + printf "%20s: \033[1;32mPASS\033[0m\n" "$testgroup" + else + printf "%20s: \033[1;31mFAIL\033[0m (returned %s)\n" "$testgroup" "$status" + fi +done + +exit "$exitstatus"