bpf_verifier_env
Regular
4.4
: Absent ⚠️
4.8
: Absent ⚠️
4.10
: ✅struct bpf_verifier_env {
struct bpf_prog *prog;
struct bpf_verifier_stack_elem *head;
int stack_size;
struct bpf_verifier_state cur_state;
struct bpf_verifier_state_list **explored_states;
const struct bpf_ext_analyzer_ops *analyzer_ops;
void *analyzer_priv;
struct bpf_map * used_maps[64];
u32 used_map_cnt;
u32 id_gen;
bool allow_ptr_leaks;
bool seen_direct_write;
bool varlen_map_value_access;
struct bpf_insn_aux_data *insn_aux_data;
};
4.13
: ✅struct bpf_verifier_env {
struct bpf_prog *prog;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
struct bpf_verifier_state cur_state;
struct bpf_verifier_state_list **explored_states;
const struct bpf_ext_analyzer_ops *analyzer_ops;
void *analyzer_priv;
struct bpf_map * used_maps[64];
u32 used_map_cnt;
u32 id_gen;
bool allow_ptr_leaks;
bool seen_direct_write;
bool varlen_map_value_access;
struct bpf_insn_aux_data *insn_aux_data;
};
4.15
: ✅struct bpf_verifier_env {
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
const struct bpf_ext_analyzer_ops *dev_ops;
struct bpf_map * used_maps[64];
u32 used_map_cnt;
u32 id_gen;
bool allow_ptr_leaks;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
struct bpf_verifer_log log;
};
4.18
: ✅struct bpf_verifier_env {
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_map * used_maps[64];
u32 used_map_cnt;
u32 id_gen;
bool allow_ptr_leaks;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
u32 subprog_cnt;
};
5.0
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_map * used_maps[64];
u32 used_map_cnt;
u32 id_gen;
bool allow_ptr_leaks;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
u32 subprog_cnt;
};
5.3
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
u32 used_map_cnt;
u32 id_gen;
bool allow_ptr_leaks;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
struct (anon) cfg;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
};
5.4
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
bool test_state_freq;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
u32 used_map_cnt;
u32 id_gen;
bool allow_ptr_leaks;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
struct (anon) cfg;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
};
5.8
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
bool test_state_freq;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
u32 used_map_cnt;
u32 id_gen;
bool allow_ptr_leaks;
bool bpf_capable;
bool bypass_spec_v1;
bool bypass_spec_v4;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
struct (anon) cfg;
u32 pass_cnt;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
};
5.11
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
bool test_state_freq;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
u32 used_map_cnt;
u32 id_gen;
bool allow_ptr_leaks;
bool allow_ptr_to_map_access;
bool bpf_capable;
bool bypass_spec_v1;
bool bypass_spec_v4;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
struct (anon) cfg;
u32 pass_cnt;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
};
5.13
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
bool test_state_freq;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
struct btf_mod_pair used_btfs[64];
u32 used_map_cnt;
u32 used_btf_cnt;
u32 id_gen;
bool explore_alu_limits;
bool allow_ptr_leaks;
bool allow_uninit_stack;
bool allow_ptr_to_map_access;
bool bpf_capable;
bool bypass_spec_v1;
bool bypass_spec_v4;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
struct bpf_id_pair idmap_scratch[75];
struct (anon) cfg;
u32 pass_cnt;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
};
5.15
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
bool test_state_freq;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
struct btf_mod_pair used_btfs[64];
u32 used_map_cnt;
u32 used_btf_cnt;
u32 id_gen;
bool explore_alu_limits;
bool allow_ptr_leaks;
bool allow_uninit_stack;
bool allow_ptr_to_map_access;
bool bpf_capable;
bool bypass_spec_v1;
bool bypass_spec_v4;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
struct bpf_id_pair idmap_scratch[75];
struct (anon) cfg;
u32 pass_cnt;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
bpfptr_t fd_array;
};
5.19
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
bool test_state_freq;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
struct btf_mod_pair used_btfs[64];
u32 used_map_cnt;
u32 used_btf_cnt;
u32 id_gen;
bool explore_alu_limits;
bool allow_ptr_leaks;
bool allow_uninit_stack;
bool allow_ptr_to_map_access;
bool bpf_capable;
bool bypass_spec_v1;
bool bypass_spec_v4;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
struct bpf_id_pair idmap_scratch[75];
struct (anon) cfg;
u32 pass_cnt;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
bpfptr_t fd_array;
u32 scratched_regs;
u64 scratched_stack_slots;
u32 prev_log_len;
u32 prev_insn_print_len;
char type_str_buf[64];
};
6.2
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
bool test_state_freq;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
struct btf_mod_pair used_btfs[64];
u32 used_map_cnt;
u32 used_btf_cnt;
u32 id_gen;
bool explore_alu_limits;
bool allow_ptr_leaks;
bool allow_uninit_stack;
bool bpf_capable;
bool bypass_spec_v1;
bool bypass_spec_v4;
bool seen_direct_write;
bool rcu_tag_supported;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
struct bpf_id_pair idmap_scratch[600];
struct (anon) cfg;
u32 pass_cnt;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
bpfptr_t fd_array;
u32 scratched_regs;
u64 scratched_stack_slots;
u32 prev_log_len;
u32 prev_insn_print_len;
char type_str_buf[128];
};
6.5
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
bool test_state_freq;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
struct btf_mod_pair used_btfs[64];
u32 used_map_cnt;
u32 used_btf_cnt;
u32 id_gen;
bool explore_alu_limits;
bool allow_ptr_leaks;
bool allow_uninit_stack;
bool bpf_capable;
bool bypass_spec_v1;
bool bypass_spec_v4;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
struct bpf_idmap idmap_scratch;
struct bpf_idset idset_scratch;
struct (anon) cfg;
struct backtrack_state bt;
u32 pass_cnt;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
bpfptr_t fd_array;
u32 scratched_regs;
u64 scratched_stack_slots;
u64 prev_log_pos;
u64 prev_insn_print_pos;
char tmp_str_buf[320];
};
6.8
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
bool test_state_freq;
bool test_reg_invariants;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
struct btf_mod_pair used_btfs[64];
u32 used_map_cnt;
u32 used_btf_cnt;
u32 id_gen;
u32 hidden_subprog_cnt;
int exception_callback_subprog;
bool explore_alu_limits;
bool allow_ptr_leaks;
bool allow_uninit_stack;
bool bpf_capable;
bool bypass_spec_v1;
bool bypass_spec_v4;
bool seen_direct_write;
bool seen_exception;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[258];
struct bpf_idmap idmap_scratch;
struct bpf_idset idset_scratch;
struct (anon) cfg;
struct backtrack_state bt;
struct bpf_jmp_history_entry *cur_hist_ent;
u32 pass_cnt;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
bpfptr_t fd_array;
u32 scratched_regs;
u64 scratched_stack_slots;
u64 prev_log_pos;
u64 prev_insn_print_pos;
char tmp_str_buf[320];
};
arm64
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
bool test_state_freq;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
u32 used_map_cnt;
u32 id_gen;
bool allow_ptr_leaks;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
struct (anon) cfg;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
};
armhf
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
bool test_state_freq;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
u32 used_map_cnt;
u32 id_gen;
bool allow_ptr_leaks;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
struct (anon) cfg;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
};
ppc64el
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
bool test_state_freq;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
u32 used_map_cnt;
u32 id_gen;
bool allow_ptr_leaks;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
struct (anon) cfg;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
};
riscv64
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
bool test_state_freq;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
u32 used_map_cnt;
u32 id_gen;
bool allow_ptr_leaks;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
struct (anon) cfg;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
};
aws
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
bool test_state_freq;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
u32 used_map_cnt;
u32 id_gen;
bool allow_ptr_leaks;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
struct (anon) cfg;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
};
azure
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
bool test_state_freq;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
u32 used_map_cnt;
u32 id_gen;
bool allow_ptr_leaks;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
struct (anon) cfg;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
};
gcp
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
bool test_state_freq;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
u32 used_map_cnt;
u32 id_gen;
bool allow_ptr_leaks;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
struct (anon) cfg;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
};
lowlatency
: ✅struct bpf_verifier_env {
u32 insn_idx;
u32 prev_insn_idx;
struct bpf_prog *prog;
const struct bpf_verifier_ops *ops;
struct bpf_verifier_stack_elem *head;
int stack_size;
bool strict_alignment;
bool test_state_freq;
struct bpf_verifier_state *cur_state;
struct bpf_verifier_state_list **explored_states;
struct bpf_verifier_state_list *free_list;
struct bpf_map * used_maps[64];
u32 used_map_cnt;
u32 id_gen;
bool allow_ptr_leaks;
bool seen_direct_write;
struct bpf_insn_aux_data *insn_aux_data;
const struct bpf_line_info *prev_linfo;
struct bpf_verifier_log log;
struct bpf_subprog_info subprog_info[257];
struct (anon) cfg;
u32 subprog_cnt;
u32 prev_insn_processed;
u32 insn_processed;
u32 prev_jmps_processed;
u32 jmps_processed;
u64 verification_time;
u32 max_states_per_insn;
u32 total_states;
u32 peak_states;
u32 longest_mark_read_walk;
};
Regular
4.10
and 4.13
⚠️bool strict_alignment
4.13
and 4.15
⚠️const struct bpf_verifier_ops *ops
const struct bpf_ext_analyzer_ops *dev_ops
struct bpf_verifer_log log
const struct bpf_ext_analyzer_ops *analyzer_ops
void *analyzer_priv
bool varlen_map_value_access
struct bpf_verifier_state cur_state
➡️ struct bpf_verifier_state *cur_state
4.15
and 4.18
⚠️struct bpf_subprog_info subprog_info[257]
u32 subprog_cnt
const struct bpf_ext_analyzer_ops *dev_ops
struct bpf_verifer_log log
➡️ struct bpf_verifier_log log
4.18
and 5.0
⚠️u32 insn_idx
u32 prev_insn_idx
const struct bpf_line_info *prev_linfo
5.0
and 5.3
⚠️struct bpf_verifier_state_list *free_list
struct (anon) cfg
u32 prev_insn_processed
u32 insn_processed
u32 prev_jmps_processed
u32 jmps_processed
u64 verification_time
u32 max_states_per_insn
u32 total_states
u32 peak_states
u32 longest_mark_read_walk
5.3
and 5.4
⚠️bool test_state_freq
5.4
and 5.8
⚠️bool bpf_capable
bool bypass_spec_v1
bool bypass_spec_v4
u32 pass_cnt
5.8
and 5.11
⚠️bool allow_ptr_to_map_access
5.11
and 5.13
⚠️struct btf_mod_pair used_btfs[64]
u32 used_btf_cnt
bool explore_alu_limits
bool allow_uninit_stack
struct bpf_id_pair idmap_scratch[75]
5.13
and 5.15
⚠️bpfptr_t fd_array
5.15
and 5.19
⚠️u32 scratched_regs
u64 scratched_stack_slots
u32 prev_log_len
u32 prev_insn_print_len
char type_str_buf[64]
5.19
and 6.2
⚠️bool rcu_tag_supported
bool allow_ptr_to_map_access
struct bpf_id_pair idmap_scratch[75]
➡️ struct bpf_id_pair idmap_scratch[600]
char type_str_buf[64]
➡️ char type_str_buf[128]
6.2
and 6.5
⚠️struct bpf_idset idset_scratch
struct backtrack_state bt
u64 prev_log_pos
u64 prev_insn_print_pos
char tmp_str_buf[320]
bool rcu_tag_supported
u32 prev_log_len
u32 prev_insn_print_len
char type_str_buf[128]
struct bpf_id_pair idmap_scratch[600]
➡️ struct bpf_idmap idmap_scratch
6.5
and 6.8
⚠️bool test_reg_invariants
u32 hidden_subprog_cnt
int exception_callback_subprog
bool seen_exception
struct bpf_jmp_history_entry *cur_hist_ent
struct bpf_subprog_info subprog_info[257]
➡️ struct bpf_subprog_info subprog_info[258]
amd64
and arm64
✅
amd64
and armhf
✅
amd64
and ppc64el
✅
amd64
and riscv64
✅
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅