diff --git a/build-bpf-gcc/action.yml b/build-bpf-gcc/action.yml index 9702b6a..6c37f93 100644 --- a/build-bpf-gcc/action.yml +++ b/build-bpf-gcc/action.yml @@ -22,11 +22,7 @@ runs: - if: steps.cache.outputs.cache-hit != 'true' name: Build BPF GCC - env: - LOGFILE: /tmp/build-bpf-gcc.log shell: bash run: | - ${GITHUB_ACTION_PATH}/build-and-install.sh ${{ inputs.install-dir }} \ - || { cat $LOGFILE; exit 1; } - + ${GITHUB_ACTION_PATH}/build-and-install.sh ${{ inputs.install-dir }} diff --git a/build-bpf-gcc/build-and-install.sh b/build-bpf-gcc/build-and-install.sh index 841be81..63d272b 100755 --- a/build-bpf-gcc/build-and-install.sh +++ b/build-bpf-gcc/build-and-install.sh @@ -1,42 +1,49 @@ #!/bin/bash set -euo pipefail +source ${GITHUB_ACTION_PATH}/../helpers.sh + INSTALLDIR=$(realpath $1) -LOGFILE=${LOGFILE:-build-bpf-gcc.log} -source ${GITHUB_ACTION_PATH}/.env +if [ -f ${GITHUB_ACTION_PATH}/.env ]; then + source ${GITHUB_ACTION_PATH}/.env +else + echo "${GITHUB_ACTION_PATH}/.env is not found, supposed to be produced by latest-snapshots.sh" + exit 1 +fi -test -f $BINUTILS_TARBALL || { - echo -n "Fetching $BINUTILS_URL... "; - wget -o /dev/null $BINUTILS_URL || { echo -e "\nerror: could not fetch $BINUTILS_URL"; exit 1; }; - echo done; -} +test -f $BINUTILS_TARBALL || wget $BINUTILS_URL +test -f $GCC_TARBALL || wget $GCC_URL -test -f $GCC_TARBALL || { - echo -n "Fetching $GCC_URL... "; - wget -o /dev/null $GCC_URL || { echo -e "\nerror: could not fetch $GCC_URL"; exit 1; }; - echo done; -} +foldable start build_binutils "Building $BINUTILS_BASENAME" if [ ! -f "${INSTALLDIR}/${BINUTILS_BASENAME}.built" ]; then - echo -n "Building and installing $BINUTILS_BASENAME... "; - (tar xJf $BINUTILS_TARBALL; - cd ${BINUTILS_BASENAME}; - mkdir build-bpf; - cd build-bpf && ../configure --target=bpf-unknown-none --prefix=$INSTALLDIR && make -j $(nproc) && make install && touch ${INSTALLDIR}/${BINUTILS_BASENAME}.built; - ) 2>&1 | tee -a $LOGFILE || { echo -e "\nerror: building $BINUTILS_TARBALL"; exit 1; } - echo done + tar xJf $BINUTILS_TARBALL + mkdir -p ${BINUTILS_BASENAME}/build-bpf + cd ${BINUTILS_BASENAME}/build-bpf + ../configure --target=bpf-unknown-none --prefix=$INSTALLDIR + make -j$(nproc) && make install + touch ${INSTALLDIR}/${BINUTILS_BASENAME}.built + cd - fi +foldable end build_binutils "Building $BINUTILS_BASENAME" + +foldable start build_gcc "Building $GCC_BASENAME" + if [ ! -f "${INSTALLDIR}/${GCC_BASENAME}.built" ]; then - echo -n "Building and installing $GCC_BASENAME... "; - (tar xJf $GCC_TARBALL; - cd ${GCC_BASENAME}; - ./contrib/download_prerequisites - mkdir build-bpf; - cd build-bpf && ../configure --target=bpf-unknown-none --prefix=$INSTALLDIR && make -j $(nproc) && make install && touch ${INSTALLDIR}/${GCC_BASENAME}.built; - ) 2>&1 | tee -a $LOGFILE || { echo -e "\nerror: building $GCC_TARBALL"; exit 1; } - echo done + tar xJf $GCC_TARBALL + cd ${GCC_BASENAME} + ./contrib/download_prerequisites + cd - + mkdir -p ${GCC_BASENAME}/build-bpf + cd ${GCC_BASENAME}/build-bpf + ../configure --target=bpf-unknown-none --prefix=$INSTALLDIR + make -j $(nproc) && make install + touch ${INSTALLDIR}/${GCC_BASENAME}.built + cd - fi +foldable end build_gcc "Building $GCC_BASENAME" + exit 0 diff --git a/ci/diffs/0599-selftests-bpf-GCC-BPF-build.patch b/ci/diffs/0599-selftests-bpf-GCC-BPF-build.patch deleted file mode 100644 index f31cc8c..0000000 --- a/ci/diffs/0599-selftests-bpf-GCC-BPF-build.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 1cbbffc89dc42c353031067a49cdc3b912b07321 Mon Sep 17 00:00:00 2001 -From: Ihor Solodrai -Date: Tue, 31 Dec 2024 16:24:43 -0800 -Subject: [PATCH] selftests/bpf: GCC BPF build - ---- - tools/testing/selftests/bpf/Makefile | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile -index 75016962f795..c4f4003a8c2e 100644 ---- a/tools/testing/selftests/bpf/Makefile -+++ b/tools/testing/selftests/bpf/Makefile -@@ -102,6 +102,14 @@ progs/btf_dump_test_case_packing.c-bpf_gcc-CFLAGS := -Wno-error - progs/btf_dump_test_case_padding.c-bpf_gcc-CFLAGS := -Wno-error - progs/btf_dump_test_case_syntax.c-bpf_gcc-CFLAGS := -Wno-error - -+ -+progs/test_cls_redirect.c-CFLAGS := -nostdinc -+progs/test_cls_redirect_dynptr.c-CFLAGS := -nostdinc -+progs/test_cls_redirect_subprogs.c-CFLAGS := -nostdinc -+ -+progs/verifier_bpf_fastcall.c-CFLAGS := -Wno-error -+progs/verifier_search_pruning.c-CFLAGS := -Wno-error -+ - # The following tests do type-punning, via the __imm_insn macro, from - # `struct bpf_insn' to long and then uses the value. This triggers an - # "is used uninitialized" warning in GCC due to strict-aliasing -@@ -502,7 +510,7 @@ endef - # Build BPF object using GCC - define GCC_BPF_BUILD_RULE - $(call msg,GCC-BPF,$4,$2) -- $(Q)$(BPF_GCC) $3 -DBPF_NO_PRESERVE_ACCESS_INDEX -Wno-attributes -O2 -c $1 -o $2 -+ $(Q)$(BPF_GCC) $3 -DBPF_NO_PRESERVE_ACCESS_INDEX -Wno-attributes -O2 -std=gnu17 -c $1 -o $2 - endef - - SKEL_BLACKLIST := btf__% test_pinning_invalid.c test_sk_assign.c --- -2.47.1 - diff --git a/ci/vmtest/configs/DENYLIST.test_progs-bpf_gcc b/ci/vmtest/configs/DENYLIST.test_progs-bpf_gcc index 87011e5..c01e71e 100644 --- a/ci/vmtest/configs/DENYLIST.test_progs-bpf_gcc +++ b/ci/vmtest/configs/DENYLIST.test_progs-bpf_gcc @@ -1,1061 +1,176 @@ -arena_htab/arena_htab_asm -async_stack_depth/async_call_root_check -async_stack_depth/pseudo_call_check -bad_struct_ops/invalid_prog_reuse +arena_htab +async_stack_depth +bad_struct_ops bpf_cookie -bpf_iter/bpf_hash_map -bpf_iter/ipv6_route -bpf_iter/ksym +bpf_iter bpf_iter_setsockopt bpf_iter_setsockopt_unix -bpf_iter/tcp4 -bpf_iter/tcp6 -bpf_iter/udp4 -bpf_iter/udp6 -bpf_iter/unix bpf_mod_race -bpf_nf/tc-bpf-ct -bpf_nf/xdp-ct -bpf_tcp_ca/cubic +bpf_nf +bpf_tcp_ca btf_dump -btf_map_in_map/diff_size -btf_map_in_map/lookup_update +btf_map_in_map cb_refs cgroup_get_current_cgroup_id -cgroup_iter/cgroup_iter__self_only_css_task +cgroup_iter cgroup_tcp_skb -cgrp_kfunc/cgrp_kfunc_acquire_fp -cgrp_kfunc/cgrp_kfunc_acquire_no_null_check -cgrp_kfunc/cgrp_kfunc_acquire_null -cgrp_kfunc/cgrp_kfunc_acquire_trusted_walked -cgrp_kfunc/cgrp_kfunc_acquire_unreleased -cgrp_kfunc/cgrp_kfunc_acquire_unsafe_kretprobe -cgrp_kfunc/cgrp_kfunc_acquire_untrusted -cgrp_kfunc/cgrp_kfunc_rcu_get_release -cgrp_kfunc/cgrp_kfunc_release_fp -cgrp_kfunc/cgrp_kfunc_release_null -cgrp_kfunc/cgrp_kfunc_release_unacquired -cgrp_kfunc/cgrp_kfunc_release_untrusted -cgrp_kfunc/cgrp_kfunc_xchg_unreleased -cgrp_kfunc/test_cgrp_acquire_leave_in_map -cgrp_kfunc/test_cgrp_acquire_release_argument -cgrp_kfunc/test_cgrp_from_id -cgrp_kfunc/test_cgrp_get_ancestors -cgrp_kfunc/test_cgrp_get_release -cgrp_kfunc/test_cgrp_xchg_release -cls_redirect/cls_redirect_dynptr -connect_force_port +cgrp_kfunc +cls_redirect core_autosize core_read_macros -core_reloc_btfgen/type_id -core_reloc_btfgen/type_id___missing_targets -core_reloc/type_id -core_reloc/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_firstand_nocpu -cpumask/test_first_firstzero_cpu -cpumask/test_global_mask_array_l2_rcu -cpumask/test_global_mask_array_one_rcu -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_setall_clear_cpu -cpumask/test_set_clear_cpu -cpumask/test_test_and_set_clear -crypto_basic/crypto_acquire +core_reloc +core_reloc_btfgen +cpumask +crypto_basic 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 -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 +dummy_st_ops +dynptr exceptions -failures_wq/test_wq_init_nomap -failures_wq/test_wq_init_wrong_map -failures_wq/test_wrong_wq_pointer -failures_wq/test_wrong_wq_pointer_offset +failures_wq fexit_bpf2bpf global_func_dead_code -global_map_resize/global_map_resize_bss -global_map_resize/global_map_resize_data -global_map_resize/global_map_resize_invalid +global_map_resize inner_array_lookup -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_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_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/jeq_infer_not_null_ptr_to_btfid +irq +iters +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 +kfunc_call +kfunc_dynptr_param +kfunc_param_nullable +kprobe_multi_test kptr_xchg_inline l4lb_all 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 -log_buf/obj_load_log_buf -log_fixup/bad_core_relo_subprog -log_fixup/bad_core_relo_trunc_full +local_kptr_stash +log_buf +log_fixup lru_bug -map_btf/array_btf -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/marked_as_untrusted_or_null -map_kptr/mark_ref_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_btf +map_in_map +map_kptr 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 -perf_link +nested_trust +percpu_alloc pkt_access preempted_bpf_ma_op -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 prog_run_opts prog_tests_framework -rbtree_fail/rbtree_api_add_bad_cb_bad_fn_call_add -rbtree_fail/rbtree_api_add_bad_cb_bad_fn_call_first_unlock_after -rbtree_fail/rbtree_api_add_bad_cb_bad_fn_call_remove -rbtree_fail/rbtree_api_add_release_unlock_escape -rbtree_fail/rbtree_api_add_to_multiple_trees -rbtree_fail/rbtree_api_first_release_unlock_escape -rbtree_fail/rbtree_api_nolock_add -rbtree_fail/rbtree_api_nolock_first -rbtree_fail/rbtree_api_nolock_remove -rbtree_fail/rbtree_api_remove_no_drop -rbtree_fail/rbtree_api_remove_unadded_node -rbtree_fail/rbtree_api_use_unchecked_remove_retval -rbtree_success/rbtree_add_and_remove -rbtree_success/rbtree_add_and_remove_array -rbtree_success/rbtree_add_nodes -rbtree_success/rbtree_add_nodes_nested -rbtree_success/rbtree_api_release_aliasing -rbtree_success/rbtree_first_and_remove +raw_tp_null +rbtree_fail +rbtree_success recursion -refcounted_kptr_fail/rbtree_fail_sleepable_lock_across_rcu -refcounted_kptr_fail/rbtree_refcounted_node_ref_escapes -refcounted_kptr_fail/rbtree_refcounted_node_ref_escapes_owning_input -refcounted_kptr_fail/refcount_acquire_maybe_null -refcounted_kptr/insert_and_remove_lf_tree_false_list_false -refcounted_kptr/insert_and_remove_lf_tree_false_list_true -refcounted_kptr/insert_and_remove_lf_tree_true_list_false -refcounted_kptr/insert_and_remove_lf_tree_true_list_true -refcounted_kptr/insert_and_remove_tree_false_list_false -refcounted_kptr/insert_and_remove_tree_false_list_true -refcounted_kptr/insert_and_remove_tree_true_list_false -refcounted_kptr/insert_and_remove_tree_true_list_true -refcounted_kptr/insert_double___read_from_list_and_del_head -refcounted_kptr/insert_double___read_from_tree_and_del_root -refcounted_kptr/insert_rbtree_and_stash__del_tree_false -refcounted_kptr/insert_rbtree_and_stash__del_tree_true -refcounted_kptr/rbtree_refcounted_node_ref_escapes -refcounted_kptr/rbtree_refcounted_node_ref_escapes_owning_input -refcounted_kptr/rbtree_sleepable_rcu -refcounted_kptr/rbtree_sleepable_rcu_no_explicit_rcu_lock -refcounted_kptr/rbtree_wrong_owner_remove_fail_a1 -refcounted_kptr/rbtree_wrong_owner_remove_fail_a2 -refcounted_kptr/rbtree_wrong_owner_remove_fail_b +refcounted_kptr +refcounted_kptr_fail refcounted_kptr_wrong_owner -reference_tracking/sk_lookup_success +reference_tracking ringbuf_multi setget_sockopt skc_to_unix_sock sk_lookup sock_addr -sock_destroy/trace_tcp_destroy_sock +sock_destroy sock_fields sockmap_listen -spin_lock/lock_global_subprog_call1 -spin_lock/lock_global_subprog_call2 -spin_lock/lock_id_global_zero -spin_lock/lock_id_innermapval_preserve -spin_lock/lock_id_kptr_preserve -spin_lock/lock_id_mapval_preserve -spin_lock/lock_id_mismatch_global_global -spin_lock/lock_id_mismatch_global_innermapval -spin_lock/lock_id_mismatch_global_kptr -spin_lock/lock_id_mismatch_global_mapval -spin_lock/lock_id_mismatch_innermapval_global -spin_lock/lock_id_mismatch_innermapval_innermapval1 -spin_lock/lock_id_mismatch_innermapval_innermapval2 -spin_lock/lock_id_mismatch_innermapval_kptr -spin_lock/lock_id_mismatch_innermapval_mapval -spin_lock/lock_id_mismatch_kptr_global -spin_lock/lock_id_mismatch_kptr_innermapval -spin_lock/lock_id_mismatch_kptr_kptr -spin_lock/lock_id_mismatch_kptr_mapval -spin_lock/lock_id_mismatch_mapval_global -spin_lock/lock_id_mismatch_mapval_innermapval -spin_lock/lock_id_mismatch_mapval_kptr -spin_lock/lock_id_mismatch_mapval_mapval -struct_ops_module/unsupported_ops -syscall/load_prog -syscall/update_outer_map -tailcalls/classifier_0 -tailcalls/classifier_1 -tailcalls/tailcall_6 -tailcalls/tailcall_bpf2bpf_2 -tailcalls/tailcall_bpf2bpf_3 -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_hierarchy_3 -task_kfunc/task_access_comm1 -task_kfunc/task_access_comm2 -task_kfunc/task_access_comm3 -task_kfunc/task_access_comm4 -task_kfunc/task_kfunc_acquire_fp -task_kfunc/task_kfunc_acquire_null -task_kfunc/task_kfunc_acquire_release_no_null_check -task_kfunc/task_kfunc_acquire_trusted_walked -task_kfunc/task_kfunc_acquire_unreleased -task_kfunc/task_kfunc_acquire_unsafe_kretprobe -task_kfunc/task_kfunc_acquire_unsafe_kretprobe_rcu -task_kfunc/task_kfunc_acquire_untrusted -task_kfunc/task_kfunc_from_lsm_task_free -task_kfunc/task_kfunc_from_pid_no_null_check -task_kfunc/task_kfunc_release_fp -task_kfunc/task_kfunc_release_in_map -task_kfunc/task_kfunc_release_null -task_kfunc/task_kfunc_release_unacquired -task_kfunc/task_kfunc_release_untrusted -task_kfunc/task_kfunc_xchg_unreleased -task_kfunc/test_task_acquire_leave_in_map -task_kfunc/test_task_acquire_release_argument -task_kfunc/test_task_acquire_release_current -task_kfunc/test_task_current_acquire_release -task_kfunc/test_task_from_pid_arg -task_kfunc/test_task_from_pid_current -task_kfunc/test_task_from_pid_invalid -task_kfunc/test_task_kfunc_flavor_relo -task_kfunc/test_task_kfunc_flavor_relo_not_found -task_kfunc/test_task_map_acquire_release -task_kfunc/test_task_xchg_release -tc_bpf/tc_bpf_non_root +spin_lock +struct_ops_module +syscall +tailcalls +task_kfunc +task_local_storage +tc_bpf tcp_custom_syncookie tcp_hdr_options -tc_redirect/tc_redirect_dtime -test_bpf_ma/batch_alloc_free -test_bpf_ma/batch_percpu_alloc_free -test_bpf_ma/free_through_map_free -test_bpf_ma/percpu_free_through_map_free -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 +tc_redirect +test_bpf_ma +test_global_funcs +test_lsm test_profiler -test_strncmp/strncmp_bad_not_null_term_target +test_strncmp +timer timer_mim -timer/test_bad_ret -token/btf_token -token/map_token -token/obj_priv_btf_fail -token/obj_priv_btf_success -token/obj_priv_implicit_token -token/obj_priv_implicit_token_envvar -token/obj_priv_map -token/obj_priv_prog -token/prog_token -tp_btf_nullable/handle_tp_btf_nullable_bare1 -tunnel/ip6vxlan_tunnel -tunnel/ipip_tunnel -tunnel/vxlan_tunnel -tunnel/xfrm_tunnel -uprobe_multi_test/consumers -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 -verifier_and/invalid_and_of_negative_number -verifier_and/invalid_range_check -verifier_arena/iter_maps2 -verifier_arena/iter_maps3 -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/a_read_only_array_1_2 -verifier_array_access/a_read_only_array_2_2 -verifier_array_access/array_with_no_floor_check -verifier_array_access/a_write_only_array_1_2 -verifier_array_access/a_write_only_array_2_2 -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/adjacent_field_roundtrip -verifier_bitfield_write/multibyte_field_roundtrip -verifier_bitfield_write/multiple_field_roundtrip -verifier_bitfield_write/single_field_roundtrip -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_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_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_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_or/not_bypass_stack_boundary_checks_1 -verifier_const_or/not_bypass_stack_boundary_checks_2 -verifier_const/tcx1 -verifier_const/tcx4 -verifier_const/tcx7 -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_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/with_32_bit_wraparound_test1 -verifier_direct_stack_access_wraparound/with_32_bit_wraparound_test2 -verifier_direct_stack_access_wraparound/with_32_bit_wraparound_test3 -verifier_d_path/d_path_reject -verifier_global_ptr_args/flavor_ptr_nonnull -verifier_global_ptr_args/flavor_ptr_nullable -verifier_global_ptr_args/trusted_acq_rel -verifier_global_ptr_args/trusted_destroy_fail -verifier_global_ptr_args/trusted_task_arg_nonnull -verifier_global_ptr_args/trusted_task_arg_nonnull_fail1 -verifier_global_ptr_args/trusted_task_arg_nonnull_fail2 -verifier_global_ptr_args/trusted_task_arg_nullable -verifier_global_subprogs/anon_user_mem_invalid -verifier_global_subprogs/anon_user_mem_valid -verifier_global_subprogs/arg_tag_ctx_fentry -verifier_global_subprogs/arg_tag_ctx_fexit -verifier_global_subprogs/arg_tag_ctx_fmod_ret -verifier_global_subprogs/arg_tag_ctx_iter_task -verifier_global_subprogs/arg_tag_ctx_kprobe -verifier_global_subprogs/arg_tag_ctx_lsm -verifier_global_subprogs/arg_tag_ctx_perf -verifier_global_subprogs/arg_tag_ctx_raw_tp -verifier_global_subprogs/arg_tag_ctx_raw_tp_btf -verifier_global_subprogs/arg_tag_ctx_raw_tp_writable -verifier_global_subprogs/arg_tag_ctx_struct_ops -verifier_global_subprogs/arg_tag_ctx_syscall -verifier_global_subprogs/arg_tag_ctx_tp -verifier_global_subprogs/arg_tag_dynptr -verifier_global_subprogs/arg_tag_nonnull_ptr_good -verifier_global_subprogs/arg_tag_nullable_ptr_fail -verifier_global_subprogs/chained_global_func_calls_bad -verifier_global_subprogs/chained_global_func_calls_success -verifier_global_subprogs/guarded_unsupp_global_called -verifier_global_subprogs/unguarded_unsupp_global_called -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/bpf_prog_type_perf_event_1 -verifier_helper_restricted/bpf_prog_type_perf_event_2 -verifier_helper_restricted/bpf_prog_type_perf_event_3 -verifier_helper_restricted/bpf_prog_type_raw_tracepoint_1 -verifier_helper_restricted/bpf_prog_type_raw_tracepoint_2 -verifier_helper_restricted/bpf_prog_type_raw_tracepoint_3 -verifier_helper_restricted/in_bpf_prog_type_kprobe_1 -verifier_helper_restricted/in_bpf_prog_type_kprobe_2 -verifier_helper_restricted/in_bpf_prog_type_kprobe_3 -verifier_helper_restricted/in_bpf_prog_type_tracepoint_1 -verifier_helper_restricted/in_bpf_prog_type_tracepoint_2 -verifier_helper_restricted/in_bpf_prog_type_tracepoint_3 -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/scalars +token +tp_btf_nullable +tunnel +uprobe_multi_test +user_ringbuf +verifier_and +verifier_arena +verifier_array_access +verifier_basic_stack +verifier_bitfield_write +verifier_bits_iter +verifier_bounds +verifier_bounds_deduction +verifier_bounds_mix_sign_unsign +verifier_btf_ctx_access +verifier_cfg +verifier_cgroup_inv_retcode +verifier_cgroup_skb +verifier_cgroup_storage +verifier_const +verifier_const_or +verifier_ctx +verifier_ctx_sk_msg +verifier_direct_packet_access +verifier_direct_stack_access_wraparound +verifier_d_path +verifier_global_ptr_args +verifier_global_subprogs +verifier_helper_access_var_len +verifier_helper_packet_access +verifier_helper_restricted +verifier_helper_value_access +verifier_int_ptr +verifier_iterating_callbacks +verifier_jeq_infer_not_null +verifier_kfunc_prog_types +verifier_ld_ind +verifier_leak_ptr +verifier_linked_scalars verifier_loops1 -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_mixing/dummy_prog_24_socket -verifier_map_ptr_mixing/dummy_prog_42_socket -verifier_map_ptr_mixing/dummy_prog_loop1_socket -verifier_map_ptr_mixing/dummy_prog_loop2_socket -verifier_map_ptr_mixing/lookup_hash_map_in_map -verifier_map_ptr_mixing/pointers_for_lookup_hash_array -verifier_map_ptr_mixing/pointers_for_lookup_tail_tail_1 -verifier_map_ptr_mixing/pointers_for_lookup_tail_tail_2 -verifier_map_ptr/read_non_existent_field_rejected -verifier_map_ptr/read_with_negative_offset_rejected -verifier_map_ret_val/access_memory_with_incorrect_alignment_1 -verifier_map_ret_val/access_memory_with_incorrect_alignment_2 -verifier_map_ret_val/check_return_value_before_access -verifier_map_ret_val/map_fd_for_function_call -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_mtu/tc_uninit_mtu -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_lsm +verifier_lwt +verifier_map_in_map +verifier_map_ptr +verifier_map_ptr_mixing +verifier_map_ret_val +verifier_meta_access +verifier_netfilter_ctx +verifier_netfilter_retcode verifier_or_jmp32_k -verifier_prevent_map_lookup/map_lookup_in_prog_array -verifier_prevent_map_lookup/map_lookup_in_stack_trace -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/tracepoint_writable_reject_variable_offset -verifier_ref_tracking/_64_bit_access_of_member -verifier_ref_tracking/acquire_release_system_key_reference -verifier_ref_tracking/acquire_release_user_key_reference -verifier_ref_tracking/after_bpf_sk_release_sk -verifier_ref_tracking/after_bpf_sk_release_tp -verifier_ref_tracking/alloc_in_subprog_release_outside -verifier_ref_tracking/alloc_leak_reference_in_subprog -verifier_ref_tracking/and_bpf_tcp_sock_sk -verifier_ref_tracking/and_release_sock_or_null -verifier_ref_tracking/bpf_sk_fullsock_after_release -verifier_ref_tracking/bpf_sk_release_listen_sk -verifier_ref_tracking/bpf_tcp_sock_after_release -verifier_ref_tracking/call_free_reference_in_subprog -verifier_ref_tracking/checked_reference_over_tail_call -verifier_ref_tracking/check_free_in_both_subbranches -verifier_ref_tracking/check_free_in_one_subbranch -verifier_ref_tracking/check_reference_or_tail_call -verifier_ref_tracking/copy_and_zero_potential_references -verifier_ref_tracking/dummy_prog_24_tc -verifier_ref_tracking/dummy_prog_42_tc -verifier_ref_tracking/dummy_prog_loop1_tc -verifier_ref_tracking/ld_abs_while_holding_reference -verifier_ref_tracking/ld_ind_while_holding_reference -verifier_ref_tracking/leak_potential_reference_on_stack -verifier_ref_tracking/possible_reference_over_tail_call -verifier_ref_tracking/potential_reference_on_stack_2 -verifier_ref_tracking/potential_reference_to_sock_common_1 -verifier_ref_tracking/potential_reference_to_sock_common_2 -verifier_ref_tracking/potential_reference_to_system_key -verifier_ref_tracking/potential_reference_to_user_key -verifier_ref_tracking/ptr_leak_into_caller_stack -verifier_ref_tracking/ptr_spill_into_caller_stack -verifier_ref_tracking/reference_in_subprog_and_outside -verifier_ref_tracking/reference_tracking_access_after_release -verifier_ref_tracking/reference_tracking_access_member -verifier_ref_tracking/reference_tracking_allow_ld_abs -verifier_ref_tracking/reference_tracking_allow_ld_ind -verifier_ref_tracking/reference_tracking_leak_potential_reference -verifier_ref_tracking/reference_tracking_release_reference -verifier_ref_tracking/reference_tracking_release_reference_2 -verifier_ref_tracking/reference_tracking_release_reference_twice -verifier_ref_tracking/reference_tracking_write_to_member -verifier_ref_tracking/reference_tracking_zero_potential_reference -verifier_ref_tracking/release_reference_then_tail_call -verifier_ref_tracking/release_reference_to_sock_common -verifier_ref_tracking/release_reference_twice_inside_branch -verifier_ref_tracking/release_with_null_key_pointer -verifier_ref_tracking/sk_fullsock_tp_after_release -verifier_ref_tracking/sk_release_btf_tcp_sock -verifier_ref_tracking/system_key_reference_without_check -verifier_ref_tracking/to_leak_released_ptr_reg -verifier_ref_tracking/to_sock_common_without_check -verifier_ref_tracking/to_tcp_sock_after_release -verifier_ref_tracking/tracking_direct_access_for_lookup -verifier_ref_tracking/tracking_mangle_and_release_sock -verifier_ref_tracking/tracking_release_reference_without_check -verifier_ref_tracking/tracking_valid_pointer_null_comparison -verifier_ref_tracking/tracking_valid_pointer_value_comparison -verifier_ref_tracking/user_key_reference_without_check -verifier_regalloc/regalloc_and_spill_negative -verifier_regalloc/regalloc_negative -verifier_regalloc/regalloc_src_reg_negative -verifier_reg_equal/subreg_equality_2 -verifier_ringbuf/ringbuf_invalid_reservation_offset_1 -verifier_ringbuf/ringbuf_invalid_reservation_offset_2 -verifier_runtime_jit/_0_key_2_first_branch -verifier_runtime_jit/_0_key_2_second_branch -verifier_runtime_jit/_2_key_2_first_branch -verifier_runtime_jit/_2_key_2_second_branch -verifier_runtime_jit/_32bit_index_to_tail_call -verifier_runtime_jit/bounds_different_maps_first_branch -verifier_runtime_jit/bounds_different_maps_second_branch -verifier_runtime_jit/call_within_bounds_key_2 -verifier_runtime_jit/call_within_bounds_no_prog -verifier_runtime_jit/call_within_bounds_prog_loop -verifier_runtime_jit/call_within_bounds_prog_once -verifier_runtime_jit/dummy_prog_24_socket -verifier_runtime_jit/dummy_prog_42_socket -verifier_runtime_jit/dummy_prog_loop1_socket -verifier_runtime_jit/dummy_prog_loop2_socket -verifier_runtime_jit/negative_index_to_tail_call -verifier_runtime_jit/tail_call_out_of_bounds -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_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_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/map_lookup_elem_smap_key -verifier_sock/map_lookup_elem_sockhash_key -verifier_sock/map_lookup_elem_sockmap_key -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_sock/no_null_check_on_ret_1 -verifier_sock/no_null_check_on_ret_2 -verifier_sock/of_bpf_skc_to_helpers -verifier_sock/sk_1_1_value_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/sk_no_skb_sk_check_1 -verifier_sock/sk_no_skb_sk_check_2 -verifier_sock/sk_sk_type_fullsock_field_1 -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_tailcall_jit/main -verifier_uninit/before_exit_in_all_branches -verifier_uninit/read_invalid_register -verifier_uninit/read_uninitialized_register -verifier_uninit/t_init_r0_before_exit -verifier_unpriv/alu32_mov_u32_const -verifier_unpriv/check_that_printk_is_disallowed -verifier_unpriv/cmp_map_pointer_with_zero -verifier_unpriv/different_pointers_stx_leak_sock -verifier_unpriv/dummy_prog_24_socket -verifier_unpriv/dummy_prog_42_socket -verifier_unpriv/dummy_prog_loop1_socket -verifier_unpriv/fill_of_different_pointers_st -verifier_unpriv/fill_of_different_pointers_stx -verifier_unpriv/from_stack_in_small_chunks -verifier_unpriv/mangle_pointer_on_stack_1 -verifier_unpriv/mangle_pointer_on_stack_2 -verifier_unpriv/on_stack_to_helper_function -verifier_unpriv/pass_pointer_to_helper_function -verifier_unpriv/pass_pointer_to_tail_call -verifier_unpriv_perf/fill_of_different_pointers_ldx -verifier_unpriv/pointer_into_map_elem_value -verifier_unpriv/pointers_stx_ctx_and_sock -verifier_unpriv/spill_fill_of_ctx_2 -verifier_unpriv/spill_fill_of_ctx_3 -verifier_unpriv/spill_fill_of_ctx_4 -verifier_unpriv/stx_sock_and_ctx_read -verifier_unpriv/stx_sock_and_ctx_write -verifier_unpriv/unpriv_add_const_to_pointer -verifier_unpriv/unpriv_adding_of_fp_imm -verifier_unpriv/unpriv_adding_of_fp_reg -verifier_unpriv/unpriv_add_pointer_to_pointer -verifier_unpriv/unpriv_cmp_of_frame_pointer -verifier_unpriv/unpriv_cmp_of_stack_pointer -verifier_unpriv/unpriv_cmp_pointer_with_const -verifier_unpriv/unpriv_cmp_pointer_with_pointer -verifier_unpriv/unpriv_neg_pointer -verifier_unpriv/unpriv_partial_copy_of_pointer -verifier_unpriv/unpriv_return_pointer -verifier_unpriv/unpriv_spill_fill_frame_pointer -verifier_unpriv/unpriv_spill_fill_of_ctx -verifier_unpriv/unpriv_write_into_frame_pointer -verifier_unpriv/unpriv_write_pointer_into_ctx -verifier_value_illegal_alu/flow_keys_illegal_variable_offset_alu -verifier_value_illegal_alu/value_illegal_alu_op_1 -verifier_value_illegal_alu/value_illegal_alu_op_2 -verifier_value_illegal_alu/value_illegal_alu_op_3 -verifier_value_illegal_alu/value_illegal_alu_op_4 -verifier_value_illegal_alu/value_illegal_alu_op_5 -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_value/store_of_cleared_call_register -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/get_task_exe_file_kfunc_fp -verifier_vfs_reject/get_task_exe_file_kfunc_null -verifier_vfs_reject/get_task_exe_file_kfunc_unreleased -verifier_vfs_reject/get_task_exe_file_kfunc_untrusted -verifier_vfs_reject/path_d_path_kfunc_invalid_buf_sz -verifier_vfs_reject/path_d_path_kfunc_non_lsm -verifier_vfs_reject/path_d_path_kfunc_null -verifier_vfs_reject/path_d_path_kfunc_type_mismatch -verifier_vfs_reject/path_d_path_kfunc_untrusted_from_argument -verifier_vfs_reject/path_d_path_kfunc_untrusted_from_current -verifier_vfs_reject/put_file_kfunc_unacquired -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 +verifier_prevent_map_lookup +verifier_raw_stack +verifier_raw_tp_writable +verifier_ref_tracking +verifier_regalloc +verifier_reg_equal +verifier_ringbuf +verifier_runtime_jit +verifier_scalar_ids +verifier_search_pruning +verifier_sock +verifier_sock_addr +verifier_sockmap_mutate +verifier_spill_fill +verifier_spin_lock +verifier_stack_ptr +verifier_subprog_precision +verifier_tailcall_jit +verifier_uninit +verifier_unpriv +verifier_unpriv_perf +verifier_value +verifier_value_illegal_alu +verifier_value_or_null +verifier_value_ptr_arith +verifier_var_off +verifier_vfs_reject +verifier_xadd +verifier_xdp_direct_packet_access verif_scale_pyperf100 verif_scale_pyperf180 verif_scale_pyperf600 @@ -1069,5 +184,4 @@ verif_scale_sysctl_loop1 verif_scale_sysctl_loop2 verif_scale_xdp_loop verify_pkcs7_sig -xdp_synproxy/tc -xdp_synproxy/xdp +xdp_synproxy