diff --git a/.github/scripts/matrix.py b/.github/scripts/matrix.py index dd25c290..826a2f60 100644 --- a/.github/scripts/matrix.py +++ b/.github/scripts/matrix.py @@ -188,11 +188,6 @@ def tests(self) -> Dict[str, Any]: # if self.arch in [Arch.X86_64, Arch.AARCH64] and not self.is_netdev: # tests_list.append("sched_ext") - # Don't run GCC BPF runner, because too many tests are failing - # See: https://lore.kernel.org/bpf/87bjw6qpje.fsf@oracle.com/ - # if self.arch == Arch.X86_64: - # tests_list.append("test_progs-bpf_gcc") - if not self.parallel_tests: tests_list = [test for test in tests_list if not test.endswith("parallel")] diff --git a/.github/workflows/gcc-bpf.yml b/.github/workflows/gcc-bpf.yml index e7c816bb..175cabe8 100644 --- a/.github/workflows/gcc-bpf.yml +++ b/.github/workflows/gcc-bpf.yml @@ -24,15 +24,20 @@ on: download_sources: required: true type: boolean + run_tests: + required: true + type: boolean + description: Whether or not to run the test job. jobs: - test: - name: GCC BPF + build: + name: GCC BPF build runs-on: - ${{ format('codebuild-bpf-ci-{0}-{1}', github.run_id, github.run_attempt) }} - image:custom-linux-ghcr.io/kernel-patches/runner:kbuilder-debian-x86_64 env: ARCH: ${{ inputs.arch }} + ARTIFACTS_ARCHIVE: ${{ github.workspace }}/selftests-bpf-gcc-${{ inputs.arch }}-${{ inputs.toolchain_full }}.tar.zst BPF_NEXT_BASE_BRANCH: 'master' GCC_BPF_INSTALL_DIR: ${{ github.workspace }}/gcc-bpf GCC_BPF_RELEASE_REPO: 'theihor/gcc-bpf' @@ -98,3 +103,79 @@ jobs: kernel-root: ${{ env.REPO_ROOT }} llvm-version: ${{ inputs.llvm_version }} toolchain: ${{ inputs.toolchain }} + + - name: Tar artifacts + uses: libbpf/ci/tar-artifacts@v4 + env: + ARCHIVE_BPF_SELFTESTS: 'true' + ARCHIVE_KBUILD_OUTPUT: '' # emptystring means false + with: + arch: ${{ inputs.arch }} + archive: ${{ env.ARTIFACTS_ARCHIVE }} + kbuild-output: ${{ env.KBUILD_OUTPUT }} + repo-root: ${{ env.REPO_ROOT }} + + - uses: actions/upload-artifact@v7 + with: + name: selftests-bpf-gcc-${{ inputs.arch }}-${{ inputs.toolchain_full }} + if-no-files-found: error + path: ${{ env.ARTIFACTS_ARCHIVE }} + + test: + name: GCC BPF + if: ${{ inputs.run_tests }} + runs-on: ${{ fromJSON(inputs.runs_on) }} + needs: [build] + timeout-minutes: 100 + env: + ARCH: ${{ inputs.arch }} + REPO_ROOT: ${{ github.workspace }} + REPO_PATH: "" + DEPLOYMENT: ${{ github.repository == 'kernel-patches/bpf' && 'prod' || 'rc' }} + KERNEL_TEST: test_progs-bpf_gcc + ALLOWLIST_FILE: /tmp/allowlist + DENYLIST_FILE: /tmp/denylist + steps: + - uses: actions/checkout@v6 + with: + sparse-checkout: | + .github + ci + + - uses: actions/download-artifact@v7 + with: + name: vmlinux-${{ inputs.arch }}-${{ inputs.toolchain_full }} + path: ${{ env.REPO_ROOT }} + + - name: Untar vmlinux + working-directory: ${{ env.REPO_ROOT }} + run: zstd -d -T0 vmlinux-${{ inputs.arch }}-${{ inputs.toolchain_full }}.tar.zst --stdout | tar -xf - + + # Overlays test_progs-bpf_gcc onto the selftests directory unpacked above. + - uses: actions/download-artifact@v7 + with: + name: selftests-bpf-gcc-${{ inputs.arch }}-${{ inputs.toolchain_full }} + path: ${{ env.REPO_ROOT }} + + - name: Untar test_progs-bpf_gcc + working-directory: ${{ env.REPO_ROOT }} + run: zstd -d -T0 selftests-bpf-gcc-${{ inputs.arch }}-${{ inputs.toolchain_full }}.tar.zst --stdout | tar -xf - + + - name: Run selftests + uses: libbpf/ci/run-vmtest@v4 + env: + ARCH: ${{ inputs.arch }} + DEPLOYMENT: ${{ env.DEPLOYMENT }} + LLVM_VERSION: ${{ inputs.llvm_version }} + SELFTESTS_BPF: ${{ github.workspace }}/selftests/bpf + VMTEST_CONFIGS: ${{ github.workspace }}/ci/vmtest/configs + VMTEST_MEMORY: 5G + VMTEST_NUM_CPUS: 4 + TEST_PROGS_WATCHDOG_TIMEOUT: 600 + with: + arch: ${{ inputs.arch }} + vmlinuz: '${{ github.workspace }}/vmlinuz' + kernel-root: ${{ env.REPO_ROOT }} + max-cpu: 8 + kernel-test: ${{ env.KERNEL_TEST }} + kbuild-output: ${{ env.REPO_ROOT }}/kbuild-output diff --git a/.github/workflows/kernel-build-test.yml b/.github/workflows/kernel-build-test.yml index 87416c70..99abd1b9 100644 --- a/.github/workflows/kernel-build-test.yml +++ b/.github/workflows/kernel-build-test.yml @@ -188,11 +188,13 @@ jobs: uses: ./.github/workflows/gcc-bpf.yml needs: [build] with: - # GCC BPF does not need /dev/kvm, so use the "build" runners - runs_on: ${{ inputs.build_runs_on }} + # The tests run in a VM, so these must be the /dev/kvm capable runners. + # The build half of the workflow picks its own runner. + runs_on: ${{ inputs.runs_on }} arch: ${{ inputs.arch }} gcc_version: ${{ inputs.gcc_version }} llvm_version: ${{ inputs.llvm_version }} toolchain: ${{ inputs.toolchain }} toolchain_full: ${{ inputs.toolchain_full }} download_sources: ${{ inputs.download_sources }} + run_tests: ${{ inputs.run_tests }} diff --git a/ci/vmtest/configs/DENYLIST.test_progs-bpf_gcc b/ci/vmtest/configs/DENYLIST.test_progs-bpf_gcc index a3c745d1..21837deb 100644 --- a/ci/vmtest/configs/DENYLIST.test_progs-bpf_gcc +++ b/ci/vmtest/configs/DENYLIST.test_progs-bpf_gcc @@ -1,45 +1,39 @@ -arena_htab -async_stack_depth +arena_htab/arena_htab_asm # 1M runaway since v7.2-rc1 +arena_strsearch bad_struct_ops/invalid_prog_reuse -bpf_cookie -bpf_iter/bpf_hash_map -bpf_iter/ksym -bpf_iter/tcp4 -bpf_iter/tcp6 -bpf_iter/udp4 -bpf_iter/udp6 -bpf_iter/unix +bpf_cookie/perf_event # flaky +bpf_ip_check_defrag +bpf_iter/bpf_sockmap_map_iter_fd +bpf_iter/task_pid # The sequence of 8193 jumps is too complex +bpf_iter/task_pidfd # The sequence of 8193 jumps is too complex +bpf_iter/task_sleepable # The sequence of 8193 jumps is too complex +bpf_iter/task_tid # The sequence of 8193 jumps is too complex +bpf_iter/unix # The sequence of 8193 jumps is too complex bpf_iter_setsockopt bpf_iter_setsockopt_unix bpf_mod_race -bpf_nf/tc-bpf-ct -bpf_nf/xdp-ct -bpf_tcp_ca/cubic -btf_dump/btf_dump: bitfields -btf_dump/btf_dump: packing -btf_dump/btf_dump: padding -btf_dump/btf_dump: syntax +bpf_sockmap_map_iter_fd +bpf_tcp_ca/dctcp +bpf_tcp_ca/dctcp_autoattach_map +bpf_tcp_ca/dctcp_fallback +bpftool_metadata +btf_dump btf_map_in_map -cb_refs -cgroup_get_current_cgroup_id -cgroup_iter/cgroup_iter__self_only_css_task cgroup_tcp_skb -cgrp_kfunc +cgrp_kfunc/cgrp_kfunc_acquire_trusted_walked cls_redirect/cls_redirect_dynptr connect_force_port core_autosize -core_read_macros +core_reloc/arrays___err_bad_signed_arr_elem_sz core_reloc/type_id core_reloc/type_id___missing_targets +core_reloc_btfgen/arrays___err_bad_signed_arr_elem_sz core_reloc_btfgen/type_id core_reloc_btfgen/type_id___missing_targets -cpumask/test_acquire_wrong_cpumask cpumask/test_alloc_double_release cpumask/test_alloc_free_cpumask -cpumask/test_alloc_no_release cpumask/test_and_or_xor cpumask/test_copy_any_anyand -cpumask/test_cpumask_null cpumask/test_cpumask_weight cpumask/test_first_firstzero_cpu cpumask/test_firstand_nocpu @@ -49,102 +43,22 @@ cpumask/test_global_mask_array_rcu cpumask/test_global_mask_nested_deep_array_rcu cpumask/test_global_mask_nested_deep_rcu cpumask/test_global_mask_nested_rcu -cpumask/test_global_mask_no_null_check -cpumask/test_global_mask_out_of_rcu cpumask/test_global_mask_rcu -cpumask/test_global_mask_rcu_no_null_check cpumask/test_insert_leave -cpumask/test_insert_remove_no_release cpumask/test_insert_remove_release cpumask/test_intersects_subset -cpumask/test_invalid_nested_array -cpumask/test_mutate_cpumask +cpumask/test_populate +cpumask/test_populate_reject_small_mask +cpumask/test_populate_reject_unaligned +cpumask/test_refcount_null_tracking cpumask/test_set_clear_cpu cpumask/test_setall_clear_cpu cpumask/test_test_and_set_clear -crypto_basic/crypto_acquire -crypto_sanity -deny_namespace -dummy_st_ops/test_unsupported_field_sleepable -dynptr/add_dynptr_to_map1 -dynptr/add_dynptr_to_map2 -dynptr/clone_invalid1 -dynptr/clone_invalid2 -dynptr/clone_invalidate1 -dynptr/clone_invalidate2 -dynptr/clone_invalidate3 -dynptr/clone_invalidate4 -dynptr/clone_invalidate5 -dynptr/clone_invalidate6 -dynptr/clone_skb_packet_data -dynptr/clone_xdp_packet_data -dynptr/data_slice_missing_null_check1 -dynptr/data_slice_missing_null_check2 -dynptr/data_slice_out_of_bounds_map_value -dynptr/data_slice_out_of_bounds_ringbuf -dynptr/data_slice_out_of_bounds_skb -dynptr/data_slice_use_after_release1 -dynptr/data_slice_use_after_release2 -dynptr/dynptr_adjust_invalid -dynptr/dynptr_from_mem_invalid_api -dynptr/dynptr_invalidate_slice_failure -dynptr/dynptr_invalidate_slice_or_null -dynptr/dynptr_invalidate_slice_reinit -dynptr/dynptr_is_null_invalid -dynptr/dynptr_is_rdonly_invalid -dynptr/dynptr_overwrite_ref -dynptr/dynptr_partial_slot_invalidate -dynptr/dynptr_pruning_overwrite -dynptr/dynptr_pruning_type_confusion -dynptr/dynptr_read_into_slot -dynptr/dynptr_size_invalid -dynptr/dynptr_slice_var_len1 -dynptr/dynptr_slice_var_len2 -dynptr/dynptr_var_off_overwrite -dynptr/global -dynptr/invalid_data_slices -dynptr/invalid_helper1 +dmabuf_iter dynptr/invalid_helper2 -dynptr/invalid_offset -dynptr/invalid_read1 -dynptr/invalid_read2 -dynptr/invalid_read3 -dynptr/invalid_read4 -dynptr/invalid_slice_rdwr_rdonly -dynptr/invalid_write1 -dynptr/invalid_write2 -dynptr/invalid_write3 -dynptr/invalid_write4 -dynptr/release_twice -dynptr/release_twice_callback -dynptr/ringbuf_invalid_api -dynptr/ringbuf_missing_release1 -dynptr/ringbuf_missing_release2 -dynptr/ringbuf_missing_release_callback -dynptr/ringbuf_release_uninit_dynptr -dynptr/skb_invalid_ctx -dynptr/skb_invalid_ctx_fentry -dynptr/skb_invalid_ctx_fexit -dynptr/skb_invalid_data_slice1 -dynptr/skb_invalid_data_slice2 -dynptr/skb_invalid_data_slice3 -dynptr/skb_invalid_data_slice4 -dynptr/skb_invalid_slice_write -dynptr/test_dynptr_reg_type dynptr/test_dynptr_skb_no_buff -dynptr/test_dynptr_skb_small_buff dynptr/test_dynptr_skb_tp_btf dynptr/test_read_write -dynptr/uninit_write_into_slot -dynptr/use_after_invalid -dynptr/xdp_invalid_ctx -dynptr/xdp_invalid_data_slice1 -dynptr/xdp_invalid_data_slice2 -exceptions/check_assert_eq_int_max -exceptions/check_assert_eq_int_min -exceptions/check_assert_eq_llong_max -exceptions/check_assert_eq_llong_min -exceptions/check_assert_eq_zero exceptions/check_assert_ge_neg exceptions/check_assert_ge_pos exceptions/check_assert_ge_zero @@ -162,247 +76,71 @@ exceptions/check_assert_range_s64 exceptions/check_assert_range_u64 exceptions/check_assert_single_range_s64 exceptions/check_assert_single_range_u64 -exceptions/check_assert_with_return -exceptions/exception_ext -exceptions/exception_ext_mod_cb_runtime +exceptions/non-throwing extension -> main subprog exceptions/non-throwing extension -> non-throwing subprog exceptions/non-throwing extension -> throwing global subprog -exceptions/non-throwing fentry -> exception_cb -exceptions/non-throwing fexit -> exception_cb exceptions/non-throwing fmod_ret -> non-throwing global subprog -exceptions/reject_async_callback_throw -exceptions/reject_exception_throw_cb -exceptions/reject_exception_throw_cb_diff -exceptions/reject_set_exception_cb_bad_ret2 exceptions/reject_subprog_with_lock -exceptions/reject_subprog_with_rcu_read_lock -exceptions/reject_with_cb -exceptions/reject_with_cb_reference -exceptions/reject_with_lock -exceptions/reject_with_rbtree_add_throw -exceptions/reject_with_rcu_read_lock -exceptions/reject_with_reference -exceptions/reject_with_subprog_reference -exceptions/throwing extension (with custom cb) -> exception_cb -exceptions/throwing extension -> global func in exception_cb +exceptions/throwing extension -> main subprog exceptions/throwing extension -> non-throwing global subprog exceptions/throwing extension -> throwing global subprog -exceptions/throwing fentry -> exception_cb -exceptions/throwing fexit -> exception_cb -failures_wq +fd_htab_lookup fexit_bpf2bpf/fmod_ret_freplace fexit_bpf2bpf/func_replace fexit_bpf2bpf/func_replace_global_func fexit_bpf2bpf/func_replace_multi -fexit_bpf2bpf/func_sockmap_update fexit_bpf2bpf/target_yes_callees -global_func_dead_code +fs_kfuncs global_map_resize +global_percpu_data # crashing kernel: bad .percpu address inner_array_lookup -irq/irq_flag_overwrite -irq/irq_flag_overwrite_partial -irq/irq_global_subprog -irq/irq_ooo_refs_array -irq/irq_restore_4_subprog -irq/irq_restore_bad_arg -irq/irq_restore_invalid -irq/irq_restore_iter -irq/irq_restore_missing_1_subprog -irq/irq_restore_missing_2 -irq/irq_restore_missing_2_subprog -irq/irq_restore_missing_3 -irq/irq_restore_missing_3_minus_2 -irq/irq_restore_missing_3_minus_2_subprog -irq/irq_restore_missing_3_subprog -irq/irq_restore_ooo -irq/irq_restore_ooo_3 -irq/irq_restore_ooo_3_subprog -irq/irq_save_bad_arg -irq/irq_save_invalid -irq/irq_save_iter -irq/irq_sleepable_helper -irq/irq_sleepable_kfunc -iters/compromise_iter_w_direct_write_and_skip_destroy_fail -iters/compromise_iter_w_direct_write_fail -iters/compromise_iter_w_helper_write_fail -iters/create_and_forget_to_destroy_fail -iters/css_task -iters/delayed_precision_mark -iters/delayed_read_mark -iters/destroy_without_creating_fail -iters/double_create_fail -iters/double_destroy_fail -iters/iter_css_lock_and_unlock -iters/iter_css_task_for_each -iters/iter_css_without_lock -iters/iter_destroy_bad_arg -iters/iter_err_too_permissive1 -iters/iter_err_too_permissive2 -iters/iter_err_too_permissive3 iters/iter_err_unsafe_asm_loop -iters/iter_err_unsafe_c_loop -iters/iter_nested_iters -iters/iter_new_bad_arg -iters/iter_next_bad_arg -iters/iter_next_ptr_mem_not_trusted -iters/iter_next_rcu_not_trusted -iters/iter_next_rcu_or_null -iters/iter_next_trusted_or_null -iters/iter_obfuscate_counter -iters/iter_subprog_iters -iters/iter_tasks_lock_and_unlock -iters/iter_tasks_without_lock -iters/leak_iter_from_subprog_fail -iters/loop_state_deps1 -iters/loop_state_deps2 -iters/missing_null_check_fail -iters/next_after_destroy_fail -iters/next_without_new_fail -iters/read_from_iter_slot_fail -iters/stacksafe_should_not_conflate_stack_spill_and_iter -iters/testmod_seq_getter_after_bad -iters/testmod_seq_getter_before_bad -iters/wrong_sized_read_fail -jeq_infer_not_null -jit_probe_mem kfree_skb -kfunc_call/kfunc_call_ctx -kfunc_call/kfunc_call_test1 -kfunc_call/kfunc_call_test2 -kfunc_call/kfunc_call_test4 -kfunc_call/kfunc_call_test_get_mem -kfunc_call/kfunc_call_test_ref_btf_id -kfunc_call/kfunc_call_test_static_unused_arg -kfunc_call/kfunc_syscall_test -kfunc_call/kfunc_syscall_test_null -kfunc_dynptr_param/not_ptr_to_stack -kfunc_dynptr_param/not_valid_dynptr -kfunc_param_nullable/kfunc_dynptr_nullable_test3 -kprobe_multi_test/kprobe_session_return_2 -kptr_xchg_inline l4lb_all/l4lb_noinline l4lb_all/l4lb_noinline_dynptr linked_list -local_kptr_stash/drop_rb_node_off -local_kptr_stash/local_kptr_stash_local_with_root -local_kptr_stash/local_kptr_stash_plain -local_kptr_stash/local_kptr_stash_simple -local_kptr_stash/local_kptr_stash_unstash -local_kptr_stash/refcount_acquire_without_unstash -local_kptr_stash/stash_rb_nodes +linked_list_peek/test_back_spinlock_false +linked_list_peek/test_front_spinlock_false log_buf/obj_load_log_buf log_fixup/bad_core_relo_subprog -log_fixup/bad_core_relo_trunc_full lru_bug -map_btf +lwt_seg6local +map_btf/inner_array_btf map_in_map/acc_map_in_array map_in_map/acc_map_in_htab map_in_map/sleepable_acc_map_in_array map_in_map/sleepable_acc_map_in_htab -map_kptr/correct_btf_id_check_size -map_kptr/inherit_untrusted_on_walk -map_kptr/kptr_xchg_possibly_null -map_kptr/kptr_xchg_ref_state -map_kptr/mark_ref_as_untrusted_or_null -map_kptr/marked_as_untrusted_or_null -map_kptr/non_const_var_off -map_kptr/non_const_var_off_kptr_xchg -map_kptr/reject_bad_type_xchg -map_kptr/reject_kptr_xchg_on_unref -map_kptr/reject_member_of_ref_xchg -map_kptr/reject_untrusted_xchg -map_kptr/success-map map_ptr -nested_trust/test_invalid_nested_user_cpus -nested_trust/test_invalid_skb_field -percpu_alloc/array -percpu_alloc/array_sleepable -percpu_alloc/cgrp_local_storage -percpu_alloc/test_array_map_1 -percpu_alloc/test_array_map_2 -percpu_alloc/test_array_map_3 -percpu_alloc/test_array_map_4 -percpu_alloc/test_array_map_5 -percpu_alloc/test_array_map_6 -percpu_alloc/test_array_map_7 -percpu_alloc/test_array_map_8 -perf_branches/perf_branches_no_hw +map_uninit_mem_exposure pkt_access -preempt_lock/preempt_global_subprog_test -preempt_lock/preempt_lock_missing_1 -preempt_lock/preempt_lock_missing_1_subprog -preempt_lock/preempt_lock_missing_2 -preempt_lock/preempt_lock_missing_2_minus_1_subprog -preempt_lock/preempt_lock_missing_2_subprog -preempt_lock/preempt_lock_missing_3 -preempt_lock/preempt_lock_missing_3_minus_2 -preempt_lock/preempt_sleepable_helper -preempt_lock/preempt_sleepable_kfunc -preempted_bpf_ma_op prog_run_opts -prog_tests_framework -raw_tp_null -rbtree_fail +rbtree_fail/rbtree_api_nolock_add +rbtree_fail/rbtree_api_nolock_first +rbtree_fail/rbtree_api_nolock_remove +rbtree_search/rbtree_search +rbtree_search/test_left_spinlock_false +rbtree_search/test_right_spinlock_false +rbtree_search/test_root_spinlock_false rbtree_success recursion -refcounted_kptr -refcounted_kptr_fail -refcounted_kptr_wrong_owner reference_tracking/sk_lookup_success +res_spin_lock_success ringbuf_multi setget_sockopt sk_lookup skc_to_unix_sock -sock_addr/recvmsg4: attach prog with wrong attach type -sock_addr/recvmsg4: recvfrom (dgram) -sock_addr/recvmsg6: attach prog with wrong attach type -sock_addr/recvmsg6: recvfrom (dgram) -sock_addr/sendmsg4: attach prog with wrong attach type -sock_addr/sendmsg4: kernel_sendmsg (dgram) -sock_addr/sendmsg4: kernel_sendmsg deny (dgram) -sock_addr/sendmsg4: sendmsg (dgram) -sock_addr/sendmsg4: sendmsg deny (dgram) -sock_addr/sendmsg4: sock_sendmsg (dgram) -sock_addr/sendmsg4: sock_sendmsg deny (dgram) -sock_addr/sendmsg6: attach prog with wrong attach type -sock_addr/sendmsg6: kernel_sendmsg (dgram) -sock_addr/sendmsg6: kernel_sendmsg [::] (BSD'ism) (dgram) -sock_addr/sendmsg6: kernel_sendmsg deny (dgram) -sock_addr/sendmsg6: sendmsg (dgram) -sock_addr/sendmsg6: sendmsg IPv4-mapped IPv6 (dgram) -sock_addr/sendmsg6: sendmsg [::] (BSD'ism) (dgram) -sock_addr/sendmsg6: sendmsg deny (dgram) -sock_addr/sendmsg6: sendmsg dst IP = [::] (BSD'ism) (dgram) -sock_addr/sendmsg6: sock_sendmsg (dgram) -sock_addr/sendmsg6: sock_sendmsg [::] (BSD'ism) (dgram) -sock_addr/sendmsg6: sock_sendmsg deny (dgram) -sock_destroy/trace_tcp_destroy_sock +sock_addr sock_fields -sockmap_listen/sockhash IPv4 TCP test_reuseport_mixed_groups -sockmap_listen/sockhash IPv4 TCP test_reuseport_select_connected -sockmap_listen/sockhash IPv4 UDP test_reuseport_mixed_groups -sockmap_listen/sockhash IPv4 UDP test_reuseport_select_connected -sockmap_listen/sockhash IPv6 TCP test_reuseport_mixed_groups -sockmap_listen/sockhash IPv6 TCP test_reuseport_select_connected -sockmap_listen/sockhash IPv6 UDP test_reuseport_mixed_groups -sockmap_listen/sockhash IPv6 UDP test_reuseport_select_connected -sockmap_listen/sockmap IPv4 TCP test_reuseport_mixed_groups -sockmap_listen/sockmap IPv4 TCP test_reuseport_select_connected -sockmap_listen/sockmap IPv4 UDP test_reuseport_mixed_groups -sockmap_listen/sockmap IPv4 UDP test_reuseport_select_connected -sockmap_listen/sockmap IPv6 TCP test_reuseport_mixed_groups -sockmap_listen/sockmap IPv6 TCP test_reuseport_select_connected -sockmap_listen/sockmap IPv6 UDP test_reuseport_mixed_groups -sockmap_listen/sockmap IPv6 UDP test_reuseport_select_connected +sockmap_basic/sockhash copy +sockmap_basic/sockmap copy +sockmap_strp # flaky spin_lock -struct_ops_module/unsupported_ops +stream_arena_fault_address +stream_success/stream_arena_subprog_fault +stream_syscall +struct_ops_arena/arena_arg +struct_ops_arena/arena_arg_attach syscall -tailcalls/classifier_0 -tailcalls/classifier_1 -tailcalls/reject_tail_call_preempt_lock -tailcalls/reject_tail_call_rcu_lock -tailcalls/reject_tail_call_ref -tailcalls/reject_tail_call_spin_lock tailcalls/tailcall_6 tailcalls/tailcall_bpf2bpf_2 tailcalls/tailcall_bpf2bpf_3 @@ -410,62 +148,23 @@ tailcalls/tailcall_bpf2bpf_fentry tailcalls/tailcall_bpf2bpf_fentry_entry tailcalls/tailcall_bpf2bpf_fentry_fexit tailcalls/tailcall_bpf2bpf_fexit -tailcalls/tailcall_bpf2bpf_hierarchy_2 +tailcalls/tailcall_bpf2bpf_fexit_links tailcalls/tailcall_bpf2bpf_hierarchy_3 -task_kfunc -task_local_storage/uptr_across_pages -task_local_storage/uptr_basic -task_local_storage/uptr_kptr_xchg -task_local_storage/uptr_map_failure_e2big -task_local_storage/uptr_map_failure_kstruct -task_local_storage/uptr_map_failure_size0 +task_local_data task_local_storage/uptr_no_null_check -task_local_storage/uptr_obj_new -task_local_storage/uptr_update_failure tc_bpf/tc_bpf_non_root +tc_edt # flaky tc_redirect/tc_redirect_dtime tcp_custom_syncookie tcp_hdr_options -test_bpf_ma -test_global_funcs/arg_tag_ctx_kprobe -test_global_funcs/arg_tag_ctx_perf -test_global_funcs/arg_tag_ctx_raw_tp -test_global_funcs/global_func1 -test_global_funcs/global_func10 -test_global_funcs/global_func11 -test_global_funcs/global_func12 -test_global_funcs/global_func13 -test_global_funcs/global_func14 -test_global_funcs/global_func15 -test_global_funcs/global_func15_tricky_pruning -test_global_funcs/global_func17 -test_global_funcs/global_func3 -test_global_funcs/global_func5 -test_global_funcs/global_func6 -test_global_funcs/global_func7 test_lsm/lsm_basic test_profiler test_strncmp/strncmp_bad_not_null_term_target -timer +timer_interrupt # flaky timer_mim -token tp_btf_nullable/handle_tp_btf_nullable_bare1 -tunnel -uprobe_multi_test/uprobe_sesison_return_2 -user_ringbuf/user_ringbuf_callback_bad_access1 -user_ringbuf/user_ringbuf_callback_bad_access2 -user_ringbuf/user_ringbuf_callback_const_ptr_to_dynptr_reg_off -user_ringbuf/user_ringbuf_callback_discard_dynptr -user_ringbuf/user_ringbuf_callback_invalid_return -user_ringbuf/user_ringbuf_callback_null_context_read -user_ringbuf/user_ringbuf_callback_null_context_write -user_ringbuf/user_ringbuf_callback_reinit_dynptr_mem -user_ringbuf/user_ringbuf_callback_reinit_dynptr_ringbuf -user_ringbuf/user_ringbuf_callback_submit_dynptr -user_ringbuf/user_ringbuf_callback_write_forbidden verif_scale_pyperf100 verif_scale_pyperf180 -verif_scale_pyperf600 verif_scale_pyperf600_nounroll verif_scale_seg6_loop verif_scale_strobemeta @@ -475,430 +174,42 @@ verif_scale_strobemeta_subprogs verif_scale_sysctl_loop1 verif_scale_sysctl_loop2 verif_scale_xdp_loop -verifier_and/invalid_and_of_negative_number -verifier_and/invalid_range_check -verifier_arena/iter_maps2 -verifier_arena/iter_maps3 -verifier_array_access/a_read_only_array_1_2 -verifier_array_access/a_read_only_array_2_2 -verifier_array_access/a_write_only_array_1_2 -verifier_array_access/a_write_only_array_2_2 -verifier_array_access/an_array_with_a_constant_2 -verifier_array_access/an_array_with_a_register_2 -verifier_array_access/an_array_with_a_variable_2 -verifier_array_access/array_with_no_floor_check -verifier_array_access/with_a_invalid_max_check_1 -verifier_array_access/with_a_invalid_max_check_2 -verifier_basic_stack/invalid_fp_arithmetic -verifier_basic_stack/misaligned_read_from_stack -verifier_basic_stack/stack_out_of_bounds -verifier_bitfield_write -verifier_bits_iter/destroy_uninit -verifier_bits_iter/next_uninit -verifier_bits_iter/no_destroy -verifier_bounds/bounds_map_value_variant_1 -verifier_bounds/bounds_map_value_variant_2 -verifier_bounds/of_boundary_crossing_range_1 -verifier_bounds/of_boundary_crossing_range_2 -verifier_bounds/on_sign_extended_mov_test1 -verifier_bounds/on_sign_extended_mov_test2 -verifier_bounds/reg32_any_reg32_xor_3 -verifier_bounds/reg_any_reg_xor_3 -verifier_bounds/shift_of_maybe_negative_number -verifier_bounds/shift_with_64_bit_input -verifier_bounds/shift_with_oversized_count_operand -verifier_bounds/size_signed_32bit_overflow_test1 -verifier_bounds/size_signed_32bit_overflow_test2 -verifier_bounds/size_signed_32bit_overflow_test3 -verifier_bounds/size_signed_32bit_overflow_test4 -verifier_bounds/var_off_insn_off_test1 -verifier_bounds/var_off_insn_off_test2 -verifier_bounds_deduction/deducing_bounds_from_const_1 -verifier_bounds_deduction/deducing_bounds_from_const_10 -verifier_bounds_deduction/deducing_bounds_from_const_3 -verifier_bounds_deduction/deducing_bounds_from_const_5 -verifier_bounds_deduction/deducing_bounds_from_const_6 -verifier_bounds_deduction/deducing_bounds_from_const_7 -verifier_bounds_deduction/deducing_bounds_from_const_8 -verifier_bounds_deduction/deducing_bounds_from_const_9 -verifier_bounds_mix_sign_unsign/checks_mixing_signed_and_unsigned -verifier_bounds_mix_sign_unsign/signed_and_unsigned_positive_bounds -verifier_bounds_mix_sign_unsign/signed_and_unsigned_variant_10 -verifier_bounds_mix_sign_unsign/signed_and_unsigned_variant_11 -verifier_bounds_mix_sign_unsign/signed_and_unsigned_variant_12 -verifier_bounds_mix_sign_unsign/signed_and_unsigned_variant_13 -verifier_bounds_mix_sign_unsign/signed_and_unsigned_variant_14 -verifier_bounds_mix_sign_unsign/signed_and_unsigned_variant_15 -verifier_bounds_mix_sign_unsign/signed_and_unsigned_variant_2 -verifier_bounds_mix_sign_unsign/signed_and_unsigned_variant_3 -verifier_bounds_mix_sign_unsign/signed_and_unsigned_variant_5 -verifier_bounds_mix_sign_unsign/signed_and_unsigned_variant_6 -verifier_bounds_mix_sign_unsign/signed_and_unsigned_variant_8 -verifier_btf_ctx_access/ctx_access_u32_pointer_reject_16 -verifier_btf_ctx_access/ctx_access_u32_pointer_reject_32 -verifier_btf_ctx_access/ctx_access_u32_pointer_reject_8 -verifier_cfg/conditional_loop -verifier_cfg/loop2_back_edge -verifier_cfg/loop_back_edge -verifier_cfg/out_of_range_jump -verifier_cfg/out_of_range_jump2 -verifier_cfg/uncond_loop_after_cond_jmp -verifier_cfg/uncond_loop_in_subprog_after_cond_jmp -verifier_cfg/unreachable -verifier_cfg/unreachable2 -verifier_cgroup_inv_retcode/with_invalid_return_code_test1 -verifier_cgroup_inv_retcode/with_invalid_return_code_test3 -verifier_cgroup_inv_retcode/with_invalid_return_code_test5 -verifier_cgroup_inv_retcode/with_invalid_return_code_test6 -verifier_cgroup_inv_retcode/with_invalid_return_code_test7 -verifier_cgroup_skb/data_meta_for_cgroup_skb -verifier_cgroup_skb/flow_keys_for_cgroup_skb -verifier_cgroup_skb/napi_id_for_cgroup_skb -verifier_cgroup_skb/tc_classid_for_cgroup_skb -verifier_cgroup_storage/cpu_cgroup_storage_access_1 -verifier_cgroup_storage/cpu_cgroup_storage_access_2 -verifier_cgroup_storage/cpu_cgroup_storage_access_3 -verifier_cgroup_storage/cpu_cgroup_storage_access_4 -verifier_cgroup_storage/cpu_cgroup_storage_access_5 -verifier_cgroup_storage/cpu_cgroup_storage_access_6 -verifier_cgroup_storage/invalid_cgroup_storage_access_1 -verifier_cgroup_storage/invalid_cgroup_storage_access_2 -verifier_cgroup_storage/invalid_cgroup_storage_access_3 -verifier_cgroup_storage/invalid_cgroup_storage_access_4 -verifier_cgroup_storage/invalid_cgroup_storage_access_5 -verifier_cgroup_storage/invalid_cgroup_storage_access_6 -verifier_const/bprm -verifier_const/tcx1 -verifier_const/tcx4 -verifier_const/tcx7 -verifier_const_or/not_bypass_stack_boundary_checks_1 -verifier_const_or/not_bypass_stack_boundary_checks_2 -verifier_ctx/context_stores_via_bpf_atomic -verifier_ctx/ctx_pointer_to_helper_1 -verifier_ctx/ctx_pointer_to_helper_2 -verifier_ctx/ctx_pointer_to_helper_3 -verifier_ctx/make_ptr_to_ctx_unusable -verifier_ctx/null_check_4_ctx_const -verifier_ctx/null_check_8_null_bind -verifier_ctx/or_null_check_3_1 -verifier_ctx_sk_msg/of_size_in_sk_msg -verifier_ctx_sk_msg/past_end_of_sk_msg -verifier_ctx_sk_msg/read_offset_in_sk_msg -verifier_d_path/d_path_reject -verifier_direct_packet_access/access_test15_spill_with_xadd -verifier_direct_packet_access/direct_packet_access_test3 -verifier_direct_packet_access/id_in_regsafe_bad_access -verifier_direct_packet_access/packet_access_test10_write_invalid -verifier_direct_packet_access/pkt_end_reg_bad_access -verifier_direct_packet_access/pkt_end_reg_both_accesses -verifier_direct_packet_access/test16_arith_on_data_end -verifier_direct_packet_access/test23_x_pkt_ptr_4 -verifier_direct_packet_access/test26_marking_on_bad_access -verifier_direct_packet_access/test28_marking_on_bad_access -verifier_direct_stack_access_wraparound -verifier_global_ptr_args -verifier_global_subprogs -verifier_helper_access_var_len/bitwise_and_jmp_wrong_max -verifier_helper_access_var_len/jmp_signed_no_min_check -verifier_helper_access_var_len/map_adjusted_jmp_wrong_max -verifier_helper_access_var_len/memory_map_jmp_wrong_max -verifier_helper_access_var_len/memory_stack_jmp_bounds_offset -verifier_helper_access_var_len/memory_stack_jmp_wrong_max -verifier_helper_access_var_len/ptr_to_mem_or_null_2 -verifier_helper_access_var_len/ptr_to_mem_or_null_8 -verifier_helper_access_var_len/ptr_to_mem_or_null_9 -verifier_helper_access_var_len/stack_jmp_no_max_check -verifier_helper_packet_access/cls_helper_fail_range_1 -verifier_helper_packet_access/cls_helper_fail_range_2 -verifier_helper_packet_access/cls_helper_fail_range_3 -verifier_helper_packet_access/packet_ptr_with_bad_range_1 -verifier_helper_packet_access/packet_ptr_with_bad_range_2 -verifier_helper_packet_access/packet_test2_unchecked_packet_ptr -verifier_helper_packet_access/ptr_with_too_short_range_1 -verifier_helper_packet_access/ptr_with_too_short_range_2 -verifier_helper_packet_access/test11_cls_unsuitable_helper_1 -verifier_helper_packet_access/test12_cls_unsuitable_helper_2 -verifier_helper_packet_access/test15_cls_helper_fail_sub -verifier_helper_packet_access/test20_pkt_end_as_input -verifier_helper_packet_access/test7_cls_unchecked_packet_ptr -verifier_helper_packet_access/to_packet_test21_wrong_reg -verifier_helper_restricted -verifier_helper_value_access/access_to_map_empty_range -verifier_helper_value_access/access_to_map_negative_range -verifier_helper_value_access/access_to_map_possibly_empty_range -verifier_helper_value_access/access_to_map_wrong_size -verifier_helper_value_access/bounds_check_using_bad_access_1 -verifier_helper_value_access/bounds_check_using_bad_access_2 -verifier_helper_value_access/check_using_s_bad_access_1 -verifier_helper_value_access/check_using_s_bad_access_2 -verifier_helper_value_access/const_imm_negative_range_adjustment_1 -verifier_helper_value_access/const_imm_negative_range_adjustment_2 -verifier_helper_value_access/const_reg_negative_range_adjustment_1 -verifier_helper_value_access/const_reg_negative_range_adjustment_2 -verifier_helper_value_access/imm_out_of_bound_1 -verifier_helper_value_access/imm_out_of_bound_2 -verifier_helper_value_access/imm_out_of_bound_range -verifier_helper_value_access/map_out_of_bound_range -verifier_helper_value_access/map_via_variable_empty_range -verifier_helper_value_access/reg_out_of_bound_1 -verifier_helper_value_access/reg_out_of_bound_2 -verifier_helper_value_access/reg_out_of_bound_range -verifier_helper_value_access/via_const_imm_empty_range -verifier_helper_value_access/via_const_reg_empty_range -verifier_helper_value_access/via_variable_no_max_check_1 -verifier_helper_value_access/via_variable_no_max_check_2 -verifier_helper_value_access/via_variable_wrong_max_check_1 -verifier_helper_value_access/via_variable_wrong_max_check_2 -verifier_int_ptr/arg_ptr_to_long_misaligned -verifier_int_ptr/to_long_size_sizeof_long -verifier_iterating_callbacks/bpf_loop_iter_limit_overflow -verifier_iterating_callbacks/check_add_const_3regs -verifier_iterating_callbacks/check_add_const_3regs_2if -verifier_iterating_callbacks/check_add_const_regsafe_off -verifier_iterating_callbacks/iter_limit_bug -verifier_iterating_callbacks/jgt_imm64_and_may_goto -verifier_iterating_callbacks/loop_detection -verifier_iterating_callbacks/may_goto_self -verifier_iterating_callbacks/unsafe_find_vma -verifier_iterating_callbacks/unsafe_for_each_map_elem -verifier_iterating_callbacks/unsafe_on_2nd_iter -verifier_iterating_callbacks/unsafe_on_zero_iter -verifier_iterating_callbacks/unsafe_ringbuf_drain -verifier_jeq_infer_not_null/unchanged_for_jeq_false_branch -verifier_jeq_infer_not_null/unchanged_for_jne_true_branch -verifier_kfunc_prog_types/cgrp_kfunc_raw_tp -verifier_kfunc_prog_types/cpumask_kfunc_raw_tp -verifier_kfunc_prog_types/task_kfunc_raw_tp -verifier_ld_ind/ind_check_calling_conv_r1 -verifier_ld_ind/ind_check_calling_conv_r2 -verifier_ld_ind/ind_check_calling_conv_r3 -verifier_ld_ind/ind_check_calling_conv_r4 -verifier_ld_ind/ind_check_calling_conv_r5 -verifier_leak_ptr/leak_pointer_into_ctx_1 -verifier_leak_ptr/leak_pointer_into_ctx_2 -verifier_linked_scalars -verifier_loops1/bounded_recursion -verifier_loops1/infinite_loop_in_two_jumps -verifier_loops1/infinite_loop_three_jump_trick -verifier_loops1/loop_after_a_conditional_jump -verifier_lsm/bool_retval_test3 -verifier_lsm/bool_retval_test4 -verifier_lsm/disabled_hook_test1 -verifier_lsm/disabled_hook_test2 -verifier_lsm/disabled_hook_test3 -verifier_lsm/errno_zero_retval_test4 -verifier_lsm/errno_zero_retval_test5 -verifier_lsm/errno_zero_retval_test6 -verifier_lwt/not_permitted_for_lwt_prog -verifier_lwt/packet_write_for_lwt_in -verifier_lwt/packet_write_for_lwt_out -verifier_lwt/tc_classid_for_lwt_in -verifier_lwt/tc_classid_for_lwt_out -verifier_lwt/tc_classid_for_lwt_xmit -verifier_map_in_map/invalid_inner_map_pointer -verifier_map_in_map/on_the_inner_map_pointer -verifier_map_ptr/bpf_map_ptr_write_rejected -verifier_map_ptr/read_non_existent_field_rejected -verifier_map_ptr/read_with_negative_offset_rejected -verifier_map_ptr_mixing -verifier_map_ret_val -verifier_meta_access/meta_access_test10 -verifier_meta_access/meta_access_test2 -verifier_meta_access/meta_access_test3 -verifier_meta_access/meta_access_test4 -verifier_meta_access/meta_access_test5 -verifier_meta_access/meta_access_test6 -verifier_meta_access/meta_access_test9 -verifier_netfilter_ctx/with_invalid_ctx_access_test1 -verifier_netfilter_ctx/with_invalid_ctx_access_test2 -verifier_netfilter_ctx/with_invalid_ctx_access_test3 -verifier_netfilter_ctx/with_invalid_ctx_access_test4 -verifier_netfilter_ctx/with_invalid_ctx_access_test5 -verifier_netfilter_retcode/with_invalid_return_code_test1 -verifier_netfilter_retcode/with_invalid_return_code_test4 -verifier_or_jmp32_k -verifier_prevent_map_lookup -verifier_raw_stack/bytes_spilled_regs_corruption_2 -verifier_raw_stack/load_bytes_invalid_access_1 -verifier_raw_stack/load_bytes_invalid_access_2 -verifier_raw_stack/load_bytes_invalid_access_3 -verifier_raw_stack/load_bytes_invalid_access_4 -verifier_raw_stack/load_bytes_invalid_access_5 -verifier_raw_stack/load_bytes_invalid_access_6 -verifier_raw_stack/load_bytes_negative_len_2 -verifier_raw_stack/load_bytes_spilled_regs_corruption -verifier_raw_stack/skb_load_bytes_negative_len -verifier_raw_stack/skb_load_bytes_zero_len -verifier_raw_tp_writable -verifier_ref_tracking -verifier_reg_equal/subreg_equality_2 -verifier_regalloc/regalloc_and_spill_negative -verifier_regalloc/regalloc_negative -verifier_regalloc/regalloc_src_reg_negative -verifier_ringbuf/ringbuf_invalid_reservation_offset_1 -verifier_ringbuf/ringbuf_invalid_reservation_offset_2 -verifier_runtime_jit -verifier_scalar_ids/check_ids_in_regsafe -verifier_scalar_ids/check_ids_in_regsafe_2 -verifier_scalar_ids/linked_regs_broken_link_2 -verifier_search_pruning/for_u32_spills_u64_fill -verifier_search_pruning/liveness_pruning_and_write_screening -verifier_search_pruning/short_loop1 -verifier_search_pruning/should_be_verified_nop_operation -verifier_search_pruning/tracking_for_u32_spill_fill -verifier_search_pruning/varlen_map_value_access_pruning -verifier_sock/bpf_sk_fullsock_skb_sk -verifier_sock/bpf_sk_release_skb_sk -verifier_sock/bpf_tcp_sock_skb_sk -verifier_sock/dst_port_byte_load_invalid -verifier_sock/dst_port_half_load_invalid_1 -verifier_sock/dst_port_half_load_invalid_2 -verifier_sock/invalidate_pkt_pointers_by_tail_call -verifier_sock/invalidate_pkt_pointers_from_global_func -verifier_sock/map_lookup_elem_smap_key -verifier_sock/map_lookup_elem_sockhash_key -verifier_sock/map_lookup_elem_sockmap_key -verifier_sock/no_null_check_on_ret_1 -verifier_sock/no_null_check_on_ret_2 -verifier_sock/of_bpf_skc_to_helpers -verifier_sock/post_bind4_read_mark -verifier_sock/post_bind4_read_src_ip6 -verifier_sock/post_bind6_read_src_ip4 -verifier_sock/sk_1_1_value_1 -verifier_sock/sk_no_skb_sk_check_1 -verifier_sock/sk_no_skb_sk_check_2 -verifier_sock/sk_sk_type_fullsock_field_1 -verifier_sock/skb_sk_beyond_last_field_1 -verifier_sock/skb_sk_beyond_last_field_2 -verifier_sock/skb_sk_no_null_check -verifier_sock/sock_create_read_src_port -verifier_sock_addr/bind4_bad_return_code -verifier_sock_addr/bind6_bad_return_code -verifier_sock_addr/connect4_bad_return_code -verifier_sock_addr/connect6_bad_return_code -verifier_sock_addr/connect_unix_bad_return_code -verifier_sock_addr/getpeername4_bad_return_code -verifier_sock_addr/getpeername6_bad_return_code -verifier_sock_addr/getpeername_unix_bad_return_code -verifier_sock_addr/getsockname4_bad_return_code -verifier_sock_addr/getsockname6_bad_return_code -verifier_sock_addr/getsockname_unix_unix_bad_return_code -verifier_sock_addr/recvmsg4_bad_return_code -verifier_sock_addr/recvmsg6_bad_return_code -verifier_sock_addr/recvmsg_unix_bad_return_code -verifier_sock_addr/sendmsg4_bad_return_code -verifier_sock_addr/sendmsg6_bad_return_code -verifier_sock_addr/sendmsg_unix_bad_return_code -verifier_sockmap_mutate/test_flow_dissector_update -verifier_sockmap_mutate/test_raw_tp_delete -verifier_sockmap_mutate/test_raw_tp_update -verifier_sockmap_mutate/test_sockops_update -verifier_spill_fill/_6_offset_to_skb_data -verifier_spill_fill/addr_offset_to_skb_data -verifier_spill_fill/check_corrupted_spill_fill -verifier_spill_fill/fill_32bit_after_spill_64bit_clear_id -verifier_spill_fill/spill_16bit_of_32bit_fail -verifier_spill_fill/spill_32bit_of_64bit_fail -verifier_spill_fill/u64_offset_to_skb_data -verifier_spill_fill/with_invalid_reg_offset_0 -verifier_spin_lock/call_within_a_locked_region -verifier_spin_lock/lock_test2_direct_ld_st -verifier_spin_lock/lock_test3_direct_ld_st -verifier_spin_lock/lock_test4_direct_ld_st -verifier_spin_lock/lock_test7_unlock_without_lock -verifier_spin_lock/reg_id_for_map_value -verifier_spin_lock/spin_lock_test6_missing_unlock -verifier_spin_lock/spin_lock_test8_double_lock -verifier_spin_lock/spin_lock_test9_different_lock -verifier_spin_lock/test11_ld_abs_under_lock -verifier_stack_ptr/load_bad_alignment_on_off -verifier_stack_ptr/load_bad_alignment_on_reg -verifier_stack_ptr/load_out_of_bounds_high -verifier_stack_ptr/load_out_of_bounds_low -verifier_stack_ptr/to_stack_check_high_4 -verifier_stack_ptr/to_stack_check_high_5 -verifier_stack_ptr/to_stack_check_high_6 -verifier_stack_ptr/to_stack_check_high_7 -verifier_stack_ptr/to_stack_check_low_3 -verifier_stack_ptr/to_stack_check_low_4 -verifier_stack_ptr/to_stack_check_low_5 -verifier_stack_ptr/to_stack_check_low_6 -verifier_stack_ptr/to_stack_check_low_7 -verifier_subprog_precision/callback_precise_return_fail +verifier_arena/check_arena_arg_ret +verifier_array_access/valid multiple map access into an array using constant without nullness +verifier_iterating_callbacks/test1 +verifier_lsm/not null checking nullable pointer in bpf_lsm_mmap_file +verifier_map_in_map/map_ptr_is_never_null_rb +verifier_map_lookup_refine/mapofmaps_value_as_helper_fixed_mem +verifier_map_lookup_refine/mapofmaps_value_as_helper_mem_buf +verifier_map_lookup_refine/mapofmaps_value_as_kfunc_mem_buf +verifier_private_stack/Private stack, async callback, not nested +verifier_private_stack/Private stack, async callback, potential nesting +verifier_private_stack/private stack, max stack depth is private stack +verifier_sockmap_mutate/test_trace_iter +verifier_spill_fill/partial_stack_load_preserves_zeros +verifier_spill_fill/stack_load_preserves_const_precision +verifier_spill_fill/stack_load_preserves_const_precision_subreg +verifier_subprog_precision/callback_result_precise +verifier_subprog_precision/fp_precise_subprog_result +verifier_subprog_precision/global_subprog_result_precise +verifier_subprog_precision/parent_callee_saved_reg_precise +verifier_subprog_precision/parent_callee_saved_reg_precise_global +verifier_subprog_precision/parent_callee_saved_reg_precise_with_callback +verifier_subprog_precision/parent_stack_slot_precise +verifier_subprog_precision/parent_stack_slot_precise_global +verifier_subprog_precision/parent_stack_slot_precise_with_callback +verifier_subprog_precision/sneaky_fp_precise_subprog_result +verifier_subprog_precision/stack_slot_aliases_precision +verifier_subprog_precision/subprog_arg_precise +verifier_subprog_precision/subprog_result_precise +verifier_subprog_precision/subprog_result_tail_call +verifier_subprog_precision/subprog_spill_into_parent_stack_slot_precise verifier_tailcall_jit -verifier_uninit -verifier_unpriv -verifier_unpriv_perf -verifier_value/store_of_cleared_call_register -verifier_value_illegal_alu -verifier_value_or_null/map_access_from_else_condition -verifier_value_or_null/map_value_or_null_1 -verifier_value_or_null/map_value_or_null_2 -verifier_value_or_null/map_value_or_null_3 -verifier_value_or_null/multiple_map_lookup_elem_calls -verifier_value_or_null/null_check_ids_in_regsafe -verifier_value_ptr_arith/access_known_scalar_value_ptr_2 -verifier_value_ptr_arith/access_unknown_scalar_value_ptr -verifier_value_ptr_arith/access_value_ptr_known_scalar -verifier_value_ptr_arith/access_value_ptr_unknown_scalar -verifier_value_ptr_arith/access_value_ptr_value_ptr_1 -verifier_value_ptr_arith/access_value_ptr_value_ptr_2 -verifier_value_ptr_arith/lower_oob_arith_test_1 -verifier_value_ptr_arith/to_leak_tainted_dst_reg -verifier_value_ptr_arith/unknown_scalar_value_ptr_4 -verifier_value_ptr_arith/value_ptr_known_scalar_2_1 -verifier_value_ptr_arith/value_ptr_known_scalar_3 -verifier_var_off/access_max_out_of_bound -verifier_var_off/access_min_out_of_bound -verifier_var_off/stack_write_clobbers_spilled_regs -verifier_var_off/variable_offset_ctx_access -verifier_var_off/variable_offset_stack_access_unbounded -verifier_var_off/zero_sized_access_max_out_of_bound -verifier_vfs_reject -verifier_xadd/xadd_w_check_unaligned_map -verifier_xadd/xadd_w_check_unaligned_pkt -verifier_xadd/xadd_w_check_unaligned_stack -verifier_xdp_direct_packet_access/corner_case_1_bad_access_1 -verifier_xdp_direct_packet_access/corner_case_1_bad_access_10 -verifier_xdp_direct_packet_access/corner_case_1_bad_access_11 -verifier_xdp_direct_packet_access/corner_case_1_bad_access_12 -verifier_xdp_direct_packet_access/corner_case_1_bad_access_13 -verifier_xdp_direct_packet_access/corner_case_1_bad_access_14 -verifier_xdp_direct_packet_access/corner_case_1_bad_access_15 -verifier_xdp_direct_packet_access/corner_case_1_bad_access_16 -verifier_xdp_direct_packet_access/corner_case_1_bad_access_2 -verifier_xdp_direct_packet_access/corner_case_1_bad_access_3 -verifier_xdp_direct_packet_access/corner_case_1_bad_access_4 -verifier_xdp_direct_packet_access/corner_case_1_bad_access_5 -verifier_xdp_direct_packet_access/corner_case_1_bad_access_6 -verifier_xdp_direct_packet_access/corner_case_1_bad_access_7 -verifier_xdp_direct_packet_access/corner_case_1_bad_access_8 -verifier_xdp_direct_packet_access/corner_case_1_bad_access_9 -verifier_xdp_direct_packet_access/end_mangling_bad_access_1 -verifier_xdp_direct_packet_access/end_mangling_bad_access_2 -verifier_xdp_direct_packet_access/pkt_data_bad_access_1_1 -verifier_xdp_direct_packet_access/pkt_data_bad_access_1_2 -verifier_xdp_direct_packet_access/pkt_data_bad_access_1_3 -verifier_xdp_direct_packet_access/pkt_data_bad_access_1_4 -verifier_xdp_direct_packet_access/pkt_data_bad_access_2_1 -verifier_xdp_direct_packet_access/pkt_data_bad_access_2_2 -verifier_xdp_direct_packet_access/pkt_data_bad_access_2_3 -verifier_xdp_direct_packet_access/pkt_data_bad_access_2_4 -verifier_xdp_direct_packet_access/pkt_data_bad_access_2_5 -verifier_xdp_direct_packet_access/pkt_data_bad_access_2_6 -verifier_xdp_direct_packet_access/pkt_data_bad_access_2_7 -verifier_xdp_direct_packet_access/pkt_data_bad_access_2_8 -verifier_xdp_direct_packet_access/pkt_end_bad_access_1_1 -verifier_xdp_direct_packet_access/pkt_end_bad_access_1_2 -verifier_xdp_direct_packet_access/pkt_end_bad_access_2_1 -verifier_xdp_direct_packet_access/pkt_end_bad_access_2_2 -verifier_xdp_direct_packet_access/pkt_end_bad_access_2_3 -verifier_xdp_direct_packet_access/pkt_end_bad_access_2_4 -verifier_xdp_direct_packet_access/pkt_meta_bad_access_1_1 -verifier_xdp_direct_packet_access/pkt_meta_bad_access_1_2 -verifier_xdp_direct_packet_access/pkt_meta_bad_access_2_1 -verifier_xdp_direct_packet_access/pkt_meta_bad_access_2_2 -verifier_xdp_direct_packet_access/pkt_meta_bad_access_2_3 -verifier_xdp_direct_packet_access/pkt_meta_bad_access_2_4 verify_pkcs7_sig +veristat/set_global_vars_from_file_succeeds +veristat/set_global_vars_succeeds +xdp_context_lwt_encap +xdp_context_tuntap +xdp_context_veth +xdp_pull_data xdp_synproxy