From 91765e0b6ae1df742d7d050e6b2bf14feb7f9bb5 Mon Sep 17 00:00:00 2001 From: Manu Bretelle Date: Fri, 20 Oct 2023 21:34:24 -0700 Subject: [PATCH 1/3] run-vmtest: action to test bpf using danobi/vmtest Add a new action to mimick what used to be done by `run-qemu`. This action is roughly a `cp run-qemu run-vmtest` in term of functionalities. See end of this commit message for a rationale of this change. Just like `run-qemu` assumes the presence of a rootfs which is provisioned with a copy of the script from `ci/vmtest/run_selftests.sh`, `run-vmtest` assumes the presence of `ci/vmtest/vmtest_selftests.sh` and will run it. `vmtest_selftests.sh` functionally does the same as `run_selftests.sh` with a few adjustments to make it work in the `vmtest` world` and leave in the "callee" repository, not libbpf-ci. `print_test_summary.py` was copied over unchanged. Later diff will remove the version from `run-qemu` and point to this one instead. `action.yml` needs to install a few tools that were historically baked in the rootfs. A bunch of parameters are now historical.... this diff does not attempt to remove them yet. This will be address later too and will probably change as libbpf/libbpf use case is merged in. `run.sh` gets rid of the logic to create the `qemu` one-liner as well as the downloading of files from within the rootfs, and adjust it to using files on disk that were left over by the test run. Full end-to-end testing will be done through a PR in https://github.com/kernel-patches/vmtest == Main functional difference between `run-qemu` and `run-vmtest`. `run-qemu` runs the kernel inside a rootfs which is isolated from the host FS, meaning that we potentially have a host in which we build the kernel/selftests which is different than the host we run in. Causing depedency issues, see #83 and to some extends #103 . We could work around this with statically built binaries, but because of the different rootfs, we end up having to maintain rootfs *and* doing a dance of copying files in and out of the rootfs (through the prepare-rootfs action), which is slow, pulls a fair amount of bytes through the network... `run-vmtest` on the other hand does mount the host rootfs (read-only) and shares the current directory (read-write) under /mnt/vmtest. This resolves 2 things for us. 1. We don't have libraries incompatibilitie issues anymore as the building OS and the OS running the tests will be the same. 1. We don't need to copy files in and out of the root fs. The files are already on the FS seen by the VM, and files dumped by the tests are directly accessible outside the VM. On top of this, `vmtest` also handles the peculiarities of crafting the right qemu one-liner. Signed-off-by: Manu Bretelle --- run-vmtest/action.yml | 64 +++++++++++++++++ run-vmtest/fixtures/test_progs.json | 1 + run-vmtest/print_test_summary.py | 105 ++++++++++++++++++++++++++++ run-vmtest/run.sh | 79 +++++++++++++++++++++ 4 files changed, 249 insertions(+) create mode 100644 run-vmtest/action.yml create mode 100644 run-vmtest/fixtures/test_progs.json create mode 100755 run-vmtest/print_test_summary.py create mode 100755 run-vmtest/run.sh diff --git a/run-vmtest/action.yml b/run-vmtest/action.yml new file mode 100644 index 0000000..4eb68d8 --- /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.2.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" From 3826a90b0f208f4e165c386b740326133ce74fc6 Mon Sep 17 00:00:00 2001 From: Manu Bretelle Date: Thu, 11 Jan 2024 11:02:58 -0800 Subject: [PATCH 2/3] run-qemu: make use of `run-qemu/print_test_summary.py` Avoid keeping duplicated version of the script by re-using the one now located under run-vmtest. Signed-off-by: Manu Bretelle --- .github/workflows/scripts_tests.yml | 6 +- run-qemu/fixtures/test_progs.json | 1 - run-qemu/print_test_summary.py | 105 ---------------------------- run-qemu/run.sh | 2 +- 4 files changed, 4 insertions(+), 110 deletions(-) delete mode 100644 run-qemu/fixtures/test_progs.json delete mode 100755 run-qemu/print_test_summary.py diff --git a/.github/workflows/scripts_tests.yml b/.github/workflows/scripts_tests.yml index 0ce3a3a..4b56430 100644 --- a/.github/workflows/scripts_tests.yml +++ b/.github/workflows/scripts_tests.yml @@ -8,11 +8,11 @@ on: - master jobs: - test_run_qemu: - name: Test run-qemu + test_run_vmtest: + name: Test run-vmtest runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Test print_test_summary - run: ./run-qemu/print_test_summary.py -j run-qemu/fixtures/test_progs.json -s "${GITHUB_STEP_SUMMARY}" + run: ./run-vmtest/print_test_summary.py -j run-vmtest/fixtures/test_progs.json -s "${GITHUB_STEP_SUMMARY}" diff --git a/run-qemu/fixtures/test_progs.json b/run-qemu/fixtures/test_progs.json deleted file mode 100644 index 77c198d..0000000 --- a/run-qemu/fixtures/test_progs.json +++ /dev/null @@ -1 +0,0 @@ -{"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-qemu/print_test_summary.py b/run-qemu/print_test_summary.py deleted file mode 100755 index 59daf63..0000000 --- a/run-qemu/print_test_summary.py +++ /dev/null @@ -1,105 +0,0 @@ -#!/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-qemu/print_test_summary.py -j run-qemu/fixtures/test_progs.json -s /dev/stderr > /dev/null -# To test the output of the console: -# python3 run-qemu/print_test_summary.py -j run-qemu/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-qemu/run.sh b/run-qemu/run.sh index 572667f..75f88ad 100755 --- a/run-qemu/run.sh +++ b/run-qemu/run.sh @@ -111,7 +111,7 @@ then if [ $? ] then ## Job summary - "${GITHUB_ACTION_PATH}/print_test_summary.py" -s "${GITHUB_STEP_SUMMARY}" -j "${KERNEL_TEST}.json" + "${GITHUB_ACTION_PATH}/../run-vmtest/print_test_summary.py" -s "${GITHUB_STEP_SUMMARY}" -j "${KERNEL_TEST}.json" fi fi From b487b1b25a6b14b8e13292835156295544761059 Mon Sep 17 00:00:00 2001 From: Manu Bretelle Date: Thu, 11 Jan 2024 14:40:45 -0800 Subject: [PATCH 3/3] run-vmtest: convert tests from comma-separated list to space-separated. vmtest_selftests.sh expect them to be space-separated. Signed-off-by: Manu Bretelle --- run-vmtest/run.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/run-vmtest/run.sh b/run-vmtest/run.sh index c8d5306..1b8b44e 100755 --- a/run-vmtest/run.sh +++ b/run-vmtest/run.sh @@ -30,13 +30,14 @@ foldable end bpftool_checks foldable start vmtest "Starting virtual machine..." +# Tests may be comma-separated. vmtest_selftest expect them to come from CLI space-separated. +T=$(echo ${KERNEL_TEST} | tr -s ',' ' ') # 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}" + ./ci/vmtest/vmtest_selftests.sh ${T}" foldable end vmtest