Symbol: bpf_verifier_env
arch/arc/net/bpf_jit_core.c
1403
struct bpf_prog *bpf_int_jit_compile(struct bpf_verifier_env *env, struct bpf_prog *prog)
arch/arm/net/bpf_jit_32.c
2151
struct bpf_prog *bpf_int_jit_compile(struct bpf_verifier_env *env, struct bpf_prog *prog)
arch/arm64/net/bpf_jit_comp.c
1253
static int build_insn(const struct bpf_verifier_env *env, const struct bpf_insn *insn,
arch/arm64/net/bpf_jit_comp.c
1978
static int build_body(struct bpf_verifier_env *env, struct jit_ctx *ctx, bool extra_pass)
arch/arm64/net/bpf_jit_comp.c
2080
struct bpf_prog *bpf_int_jit_compile(struct bpf_verifier_env *env, struct bpf_prog *prog)
arch/loongarch/net/bpf_jit.c
2197
struct bpf_prog *bpf_int_jit_compile(struct bpf_verifier_env *env, struct bpf_prog *prog)
arch/mips/net/bpf_jit_comp.c
912
struct bpf_prog *bpf_int_jit_compile(struct bpf_verifier_env *env, struct bpf_prog *prog)
arch/parisc/net/bpf_jit_core.c
44
struct bpf_prog *bpf_int_jit_compile(struct bpf_verifier_env *env, struct bpf_prog *prog)
arch/powerpc/net/bpf_jit_comp.c
165
struct bpf_prog *bpf_int_jit_compile(struct bpf_verifier_env *env, struct bpf_prog *fp)
arch/riscv/net/bpf_jit_core.c
44
struct bpf_prog *bpf_int_jit_compile(struct bpf_verifier_env *env, struct bpf_prog *prog)
arch/s390/net/bpf_jit_comp.c
2340
struct bpf_prog *bpf_int_jit_compile(struct bpf_verifier_env *env, struct bpf_prog *fp)
arch/sparc/net/bpf_jit_comp_64.c
1480
struct bpf_prog *bpf_int_jit_compile(struct bpf_verifier_env *env, struct bpf_prog *prog)
arch/x86/net/bpf_jit_comp.c
1681
static int do_jit(struct bpf_verifier_env *env, struct bpf_prog *bpf_prog, int *addrs, u8 *image,
arch/x86/net/bpf_jit_comp.c
3851
struct bpf_prog *bpf_int_jit_compile(struct bpf_verifier_env *env, struct bpf_prog *prog)
arch/x86/net/bpf_jit_comp32.c
2521
struct bpf_prog *bpf_int_jit_compile(struct bpf_verifier_env *env, struct bpf_prog *prog)
drivers/net/ethernet/netronome/nfp/bpf/main.h
566
int nfp_verify_insn(struct bpf_verifier_env *env, int insn_idx,
drivers/net/ethernet/netronome/nfp/bpf/main.h
568
int nfp_bpf_finalize(struct bpf_verifier_env *env);
drivers/net/ethernet/netronome/nfp/bpf/main.h
570
int nfp_bpf_opt_replace_insn(struct bpf_verifier_env *env, u32 off,
drivers/net/ethernet/netronome/nfp/bpf/main.h
572
int nfp_bpf_opt_remove_insns(struct bpf_verifier_env *env, u32 off, u32 cnt);
drivers/net/ethernet/netronome/nfp/bpf/verifier.c
124
nfp_bpf_stack_arg_ok(const char *fname, struct bpf_verifier_env *env,
drivers/net/ethernet/netronome/nfp/bpf/verifier.c
157
nfp_bpf_map_call_ok(const char *fname, struct bpf_verifier_env *env,
drivers/net/ethernet/netronome/nfp/bpf/verifier.c
171
struct bpf_verifier_env *env,
drivers/net/ethernet/netronome/nfp/bpf/verifier.c
312
struct bpf_verifier_env *env)
drivers/net/ethernet/netronome/nfp/bpf/verifier.c
346
struct bpf_verifier_env *env)
drivers/net/ethernet/netronome/nfp/bpf/verifier.c
392
nfp_bpf_map_mark_used_one(struct bpf_verifier_env *env,
drivers/net/ethernet/netronome/nfp/bpf/verifier.c
417
nfp_bpf_map_mark_used(struct bpf_verifier_env *env, struct nfp_insn_meta *meta,
drivers/net/ethernet/netronome/nfp/bpf/verifier.c
452
struct bpf_verifier_env *env, u8 reg_no)
drivers/net/ethernet/netronome/nfp/bpf/verifier.c
503
struct bpf_verifier_env *env)
drivers/net/ethernet/netronome/nfp/bpf/verifier.c
527
struct bpf_verifier_env *env)
drivers/net/ethernet/netronome/nfp/bpf/verifier.c
557
struct bpf_verifier_env *env)
drivers/net/ethernet/netronome/nfp/bpf/verifier.c
631
int nfp_verify_insn(struct bpf_verifier_env *env, int insn_idx,
drivers/net/ethernet/netronome/nfp/bpf/verifier.c
673
nfp_assign_subprog_idx_and_regs(struct bpf_verifier_env *env,
drivers/net/ethernet/netronome/nfp/bpf/verifier.c
763
int nfp_bpf_finalize(struct bpf_verifier_env *env)
drivers/net/ethernet/netronome/nfp/bpf/verifier.c
807
int nfp_bpf_opt_replace_insn(struct bpf_verifier_env *env, u32 off,
drivers/net/ethernet/netronome/nfp/bpf/verifier.c
83
static bool nfp_bpf_map_update_value_ok(struct bpf_verifier_env *env)
drivers/net/ethernet/netronome/nfp/bpf/verifier.c
841
int nfp_bpf_opt_remove_insns(struct bpf_verifier_env *env, u32 off, u32 cnt)
drivers/net/netdevsim/bpf.c
63
nsim_bpf_verify_insn(struct bpf_verifier_env *env, int insn_idx, int prev_insn)
drivers/net/netdevsim/bpf.c
82
static int nsim_bpf_finalize(struct bpf_verifier_env *env)
include/linux/bpf.h
1171
int (*insn_hook)(struct bpf_verifier_env *env,
include/linux/bpf.h
1173
int (*finalize)(struct bpf_verifier_env *env);
include/linux/bpf.h
1175
int (*replace_insn)(struct bpf_verifier_env *env, u32 off,
include/linux/bpf.h
1177
int (*remove_insns)(struct bpf_verifier_env *env, u32 off, u32 cnt);
include/linux/bpf.h
1603
bool bpf_insn_is_indirect_target(const struct bpf_verifier_env *env, const struct bpf_prog *prog,
include/linux/bpf.h
1605
u16 bpf_out_stack_arg_cnt(const struct bpf_verifier_env *env, const struct bpf_prog *prog);
include/linux/bpf.h
177
int (*map_set_for_each_callback_args)(struct bpf_verifier_env *env,
include/linux/bpf.h
3021
int map_set_for_each_callback_args(struct bpf_verifier_env *env,
include/linux/bpf.h
3158
int btf_prepare_func_args(struct bpf_verifier_env *env, int subprog);
include/linux/bpf.h
40
struct bpf_verifier_env;
include/linux/bpf_verifier.h
1021
static inline struct bpf_func_info_aux *subprog_aux(struct bpf_verifier_env *env, int subprog)
include/linux/bpf_verifier.h
1026
static inline struct bpf_subprog_info *subprog_info(struct bpf_verifier_env *env, int subprog)
include/linux/bpf_verifier.h
1057
__printf(2, 3) void bpf_verifier_log_write(struct bpf_verifier_env *env,
include/linux/bpf_verifier.h
1066
__printf(3, 4) void verbose_linfo(struct bpf_verifier_env *env,
include/linux/bpf_verifier.h
1083
static inline void mark_prune_point(struct bpf_verifier_env *env, int idx)
include/linux/bpf_verifier.h
1088
static inline bool bpf_is_prune_point(struct bpf_verifier_env *env, int insn_idx)
include/linux/bpf_verifier.h
1093
static inline void mark_force_checkpoint(struct bpf_verifier_env *env, int idx)
include/linux/bpf_verifier.h
1098
static inline bool bpf_is_force_checkpoint(struct bpf_verifier_env *env, int insn_idx)
include/linux/bpf_verifier.h
1103
static inline void mark_calls_callback(struct bpf_verifier_env *env, int idx)
include/linux/bpf_verifier.h
1108
static inline bool bpf_calls_callback(struct bpf_verifier_env *env, int insn_idx)
include/linux/bpf_verifier.h
1113
static inline void mark_jmp_point(struct bpf_verifier_env *env, int idx)
include/linux/bpf_verifier.h
1118
static inline struct bpf_func_state *cur_func(struct bpf_verifier_env *env)
include/linux/bpf_verifier.h
1125
static inline struct bpf_reg_state *cur_regs(struct bpf_verifier_env *env)
include/linux/bpf_verifier.h
1131
int bpf_prog_offload_verify_insn(struct bpf_verifier_env *env,
include/linux/bpf_verifier.h
1133
int bpf_prog_offload_finalize(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1135
bpf_prog_offload_replace_insn(struct bpf_verifier_env *env, u32 off,
include/linux/bpf_verifier.h
1138
bpf_prog_offload_remove_insns(struct bpf_verifier_env *env, u32 off, u32 cnt);
include/linux/bpf_verifier.h
1159
int bpf_check_btf_info_early(struct bpf_verifier_env *env,
include/linux/bpf_verifier.h
1161
int bpf_check_btf_info(struct bpf_verifier_env *env,
include/linux/bpf_verifier.h
1171
int mark_chain_precision(struct bpf_verifier_env *env, int regno);
include/linux/bpf_verifier.h
1173
int bpf_is_state_visited(struct bpf_verifier_env *env, int insn_idx);
include/linux/bpf_verifier.h
1174
int bpf_update_branch_counts(struct bpf_verifier_env *env, struct bpf_verifier_state *st);
include/linux/bpf_verifier.h
1179
struct list_head *bpf_explored_state(struct bpf_verifier_env *env, int idx);
include/linux/bpf_verifier.h
1182
int bpf_push_jmp_history(struct bpf_verifier_env *env, struct bpf_verifier_state *cur,
include/linux/bpf_verifier.h
1185
void bpf_mark_reg_not_init(const struct bpf_verifier_env *env,
include/linux/bpf_verifier.h
1188
void bpf_mark_all_scalars_precise(struct bpf_verifier_env *env,
include/linux/bpf_verifier.h
1190
void bpf_clear_singular_ids(struct bpf_verifier_env *env, struct bpf_verifier_state *st);
include/linux/bpf_verifier.h
1191
int bpf_mark_chain_precision(struct bpf_verifier_env *env,
include/linux/bpf_verifier.h
1200
static inline struct bpf_func_state *bpf_func(struct bpf_verifier_env *env,
include/linux/bpf_verifier.h
1216
static inline bool bpf_is_jmp_point(struct bpf_verifier_env *env, int insn_idx)
include/linux/bpf_verifier.h
1338
static inline void mark_reg_scratched(struct bpf_verifier_env *env, u32 regno)
include/linux/bpf_verifier.h
1343
static inline void mark_stack_slot_scratched(struct bpf_verifier_env *env, u32 spi)
include/linux/bpf_verifier.h
1348
static inline bool reg_scratched(const struct bpf_verifier_env *env, u32 regno)
include/linux/bpf_verifier.h
1353
static inline bool stack_slot_scratched(const struct bpf_verifier_env *env, u64 regno)
include/linux/bpf_verifier.h
1358
static inline bool verifier_state_scratched(const struct bpf_verifier_env *env)
include/linux/bpf_verifier.h
1363
static inline void mark_verifier_state_clean(struct bpf_verifier_env *env)
include/linux/bpf_verifier.h
1370
static inline void mark_verifier_state_scratched(struct bpf_verifier_env *env)
include/linux/bpf_verifier.h
1392
const char *reg_type_str(struct bpf_verifier_env *env, enum bpf_reg_type type);
include/linux/bpf_verifier.h
1397
void print_verifier_state(struct bpf_verifier_env *env, const struct bpf_verifier_state *vstate,
include/linux/bpf_verifier.h
1399
void print_insn_state(struct bpf_verifier_env *env, const struct bpf_verifier_state *vstate,
include/linux/bpf_verifier.h
1403
struct bpf_subprog_info *bpf_find_containing_subprog(struct bpf_verifier_env *env, int off);
include/linux/bpf_verifier.h
1405
struct bpf_iarray *bpf_insn_successors(struct bpf_verifier_env *env, u32 idx);
include/linux/bpf_verifier.h
1407
bool bpf_subprog_is_global(const struct bpf_verifier_env *env, int subprog);
include/linux/bpf_verifier.h
1409
int bpf_find_subprog(struct bpf_verifier_env *env, int off);
include/linux/bpf_verifier.h
1411
int bpf_compute_const_regs(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1412
int bpf_prune_dead_branches(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1413
int bpf_check_cfg(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1414
int bpf_compute_postorder(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1415
int bpf_compute_scc(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1490
int bpf_get_helper_proto(struct bpf_verifier_env *env, int func_id,
include/linux/bpf_verifier.h
1492
int bpf_fetch_kfunc_arg_meta(struct bpf_verifier_env *env, s32 func_id,
include/linux/bpf_verifier.h
1511
void bpf_verbose_insn(struct bpf_verifier_env *env, struct bpf_insn *insn);
include/linux/bpf_verifier.h
1512
bool bpf_get_call_summary(struct bpf_verifier_env *env, struct bpf_insn *call,
include/linux/bpf_verifier.h
1514
s64 bpf_helper_stack_access_bytes(struct bpf_verifier_env *env,
include/linux/bpf_verifier.h
1517
s64 bpf_kfunc_stack_access_bytes(struct bpf_verifier_env *env,
include/linux/bpf_verifier.h
1520
int bpf_compute_subprog_arg_access(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1522
int bpf_stack_liveness_init(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1523
void bpf_stack_liveness_free(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1524
int bpf_live_stack_query_init(struct bpf_verifier_env *env, struct bpf_verifier_state *st);
include/linux/bpf_verifier.h
1525
bool bpf_stack_slot_alive(struct bpf_verifier_env *env, u32 frameno, u32 spi);
include/linux/bpf_verifier.h
1526
int bpf_compute_live_registers(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1587
void bpf_clear_insn_aux_data(struct bpf_verifier_env *env, int start, int len);
include/linux/bpf_verifier.h
1588
void bpf_mark_subprog_exc_cb(struct bpf_verifier_env *env, int subprog);
include/linux/bpf_verifier.h
1589
bool bpf_allow_tail_call_in_subprogs(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1590
bool bpf_verifier_inlines_helper_call(struct bpf_verifier_env *env, s32 imm);
include/linux/bpf_verifier.h
1591
int bpf_add_kfunc_call(struct bpf_verifier_env *env, u32 func_id, u16 offset);
include/linux/bpf_verifier.h
1592
int bpf_fixup_kfunc_call(struct bpf_verifier_env *env, struct bpf_insn *insn,
include/linux/bpf_verifier.h
1600
int bpf_remove_fastcall_spills_fills(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1601
int bpf_optimize_bpf_loop(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1602
void bpf_opt_hard_wire_dead_code_branches(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1603
int bpf_opt_remove_dead_code(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1604
int bpf_opt_remove_nops(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1605
int bpf_opt_subreg_zext_lo32_rnd_hi32(struct bpf_verifier_env *env, const union bpf_attr *attr);
include/linux/bpf_verifier.h
1606
int bpf_convert_ctx_accesses(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1607
int bpf_jit_subprogs(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1608
int bpf_fixup_call_args(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
1609
int bpf_do_misc_fixups(struct bpf_verifier_env *env);
include/linux/bpf_verifier.h
838
struct bpf_verifier_env;
include/linux/bpf_verifier.h
841
struct bpf_verifier_env *env;
include/linux/filter.h
1134
struct bpf_prog *__bpf_prog_select_runtime(struct bpf_verifier_env *env, struct bpf_prog *fp,
include/linux/filter.h
1178
struct bpf_prog *bpf_int_jit_compile(struct bpf_verifier_env *env, struct bpf_prog *prog);
include/linux/filter.h
1212
struct bpf_prog *bpf_patch_insn_data(struct bpf_verifier_env *env, u32 off,
include/linux/filter.h
1214
struct bpf_insn_aux_data *bpf_dup_insn_aux_data(struct bpf_verifier_env *env);
include/linux/filter.h
1215
void bpf_restore_insn_aux_data(struct bpf_verifier_env *env,
include/linux/filter.h
1218
static inline struct bpf_prog *bpf_patch_insn_data(struct bpf_verifier_env *env, u32 off,
include/linux/filter.h
1224
static inline struct bpf_insn_aux_data *bpf_dup_insn_aux_data(struct bpf_verifier_env *env)
include/linux/filter.h
1229
static inline void bpf_restore_insn_aux_data(struct bpf_verifier_env *env,
include/linux/filter.h
1371
struct bpf_prog *bpf_jit_blind_constants(struct bpf_verifier_env *env, struct bpf_prog *prog);
include/linux/filter.h
1523
struct bpf_prog *bpf_jit_blind_constants(struct bpf_verifier_env *env, struct bpf_prog *prog)
kernel/bpf/backtrack.c
11
int bpf_push_jmp_history(struct bpf_verifier_env *env, struct bpf_verifier_state *cur,
kernel/bpf/backtrack.c
120
struct bpf_verifier_env *env = bt->env;
kernel/bpf/backtrack.c
267
static int backtrack_insn(struct bpf_verifier_env *env, int idx, int subseq_idx,
kernel/bpf/backtrack.c
656
void bpf_mark_all_scalars_precise(struct bpf_verifier_env *env,
kernel/bpf/backtrack.c
790
int bpf_mark_chain_precision(struct bpf_verifier_env *env,
kernel/bpf/btf.c
7845
static int btf_scan_decl_tags(struct bpf_verifier_env *env,
kernel/bpf/btf.c
7907
static int btf_scan_type_tags(struct bpf_verifier_env *env,
kernel/bpf/btf.c
7942
static int btf_validate_return_type(struct bpf_verifier_env *env, struct btf *btf,
kernel/bpf/btf.c
7977
int btf_prepare_func_args(struct bpf_verifier_env *env, int subprog)
kernel/bpf/cfg.c
102
static int push_insn(int t, int w, int e, struct bpf_verifier_env *env)
kernel/bpf/cfg.c
151
struct bpf_verifier_env *env,
kernel/bpf/cfg.c
279
static struct bpf_iarray *jt_from_subprog(struct bpf_verifier_env *env,
kernel/bpf/cfg.c
327
create_jt(int t, struct bpf_verifier_env *env)
kernel/bpf/cfg.c
355
static int visit_gotox_insn(int t, struct bpf_verifier_env *env)
kernel/bpf/cfg.c
402
static int visit_abnormal_return_insn(struct bpf_verifier_env *env, int t)
kernel/bpf/cfg.c
426
static int visit_insn(int t, struct bpf_verifier_env *env)
kernel/bpf/cfg.c
51
static void mark_subprog_changes_pkt_data(struct bpf_verifier_env *env, int off)
kernel/bpf/cfg.c
562
int bpf_check_cfg(struct bpf_verifier_env *env)
kernel/bpf/cfg.c
59
static void mark_subprog_might_sleep(struct bpf_verifier_env *env, int off)
kernel/bpf/cfg.c
655
int bpf_compute_postorder(struct bpf_verifier_env *env)
kernel/bpf/cfg.c
67
static void mark_subprog_might_throw(struct bpf_verifier_env *env, int off)
kernel/bpf/cfg.c
708
int bpf_compute_scc(struct bpf_verifier_env *env)
kernel/bpf/cfg.c
81
static void merge_callee_effects(struct bpf_verifier_env *env, int t, int w)
kernel/bpf/check_btf.c
10
static int check_abnormal_return(struct bpf_verifier_env *env)
kernel/bpf/check_btf.c
133
static int check_btf_func(struct bpf_verifier_env *env,
kernel/bpf/check_btf.c
213
static int check_btf_line(struct bpf_verifier_env *env,
kernel/bpf/check_btf.c
31
static int check_btf_func_early(struct bpf_verifier_env *env,
kernel/bpf/check_btf.c
341
static int check_core_relo(struct bpf_verifier_env *env,
kernel/bpf/check_btf.c
410
int bpf_check_btf_info_early(struct bpf_verifier_env *env,
kernel/bpf/check_btf.c
438
int bpf_check_btf_info(struct bpf_verifier_env *env,
kernel/bpf/const_fold.c
238
int bpf_compute_const_regs(struct bpf_verifier_env *env)
kernel/bpf/const_fold.c
345
int bpf_prune_dead_branches(struct bpf_verifier_env *env)
kernel/bpf/const_fold.c
50
static void const_reg_xfer(struct bpf_verifier_env *env, struct const_arg_info *ci_out,
kernel/bpf/core.c
1554
struct bpf_prog *bpf_jit_blind_constants(struct bpf_verifier_env *env, struct bpf_prog *prog)
kernel/bpf/core.c
1633
bool bpf_insn_is_indirect_target(const struct bpf_verifier_env *env, const struct bpf_prog *prog,
kernel/bpf/core.c
1642
u16 bpf_out_stack_arg_cnt(const struct bpf_verifier_env *env, const struct bpf_prog *prog)
kernel/bpf/core.c
2620
static struct bpf_prog *bpf_prog_jit_compile(struct bpf_verifier_env *env, struct bpf_prog *prog)
kernel/bpf/core.c
2667
struct bpf_prog *__bpf_prog_select_runtime(struct bpf_verifier_env *env, struct bpf_prog *fp,
kernel/bpf/core.c
3225
struct bpf_prog * __weak bpf_int_jit_compile(struct bpf_verifier_env *env, struct bpf_prog *prog)
kernel/bpf/fixups.c
1000
static void bpf_restore_subprog_starts(struct bpf_verifier_env *env, u32 *orig_starts)
kernel/bpf/fixups.c
1008
struct bpf_insn_aux_data *bpf_dup_insn_aux_data(struct bpf_verifier_env *env)
kernel/bpf/fixups.c
1020
void bpf_restore_insn_aux_data(struct bpf_verifier_env *env,
kernel/bpf/fixups.c
1028
static int jit_subprogs(struct bpf_verifier_env *env)
kernel/bpf/fixups.c
107
static int sort_kfunc_descs_by_imm_off(struct bpf_verifier_env *env)
kernel/bpf/fixups.c
127
static int add_kfunc_in_insns(struct bpf_verifier_env *env,
kernel/bpf/fixups.c
1296
int bpf_jit_subprogs(struct bpf_verifier_env *env)
kernel/bpf/fixups.c
1376
int bpf_fixup_call_args(struct bpf_verifier_env *env)
kernel/bpf/fixups.c
143
static int get_callee_stack_depth(struct bpf_verifier_env *env,
kernel/bpf/fixups.c
1452
static int add_hidden_subprog(struct bpf_verifier_env *env, struct bpf_insn *patch, int len)
kernel/bpf/fixups.c
1481
int bpf_do_misc_fixups(struct bpf_verifier_env *env)
kernel/bpf/fixups.c
159
static void adjust_insn_aux_data(struct bpf_verifier_env *env,
kernel/bpf/fixups.c
200
static void adjust_subprog_starts(struct bpf_verifier_env *env, u32 off, u32 len)
kernel/bpf/fixups.c
214
static void adjust_insn_arrays(struct bpf_verifier_env *env, u32 off, u32 len)
kernel/bpf/fixups.c
225
static void adjust_insn_arrays_after_remove(struct bpf_verifier_env *env, u32 off, u32 len)
kernel/bpf/fixups.c
2426
static struct bpf_prog *inline_bpf_loop(struct bpf_verifier_env *env,
kernel/bpf/fixups.c
247
struct bpf_prog *bpf_patch_insn_data(struct bpf_verifier_env *env, u32 off,
kernel/bpf/fixups.c
2518
int bpf_optimize_bpf_loop(struct bpf_verifier_env *env)
kernel/bpf/fixups.c
2566
int bpf_remove_fastcall_spills_fills(struct bpf_verifier_env *env)
kernel/bpf/fixups.c
317
static int adjust_subprog_starts_after_remove(struct bpf_verifier_env *env,
kernel/bpf/fixups.c
373
static int bpf_adj_linfo_after_remove(struct bpf_verifier_env *env, u32 off,
kernel/bpf/fixups.c
440
void bpf_clear_insn_aux_data(struct bpf_verifier_env *env, int start, int len)
kernel/bpf/fixups.c
458
static int verifier_remove_insns(struct bpf_verifier_env *env, u32 off, u32 cnt)
kernel/bpf/fixups.c
507
void bpf_opt_hard_wire_dead_code_branches(struct bpf_verifier_env *env)
kernel/bpf/fixups.c
533
int bpf_opt_remove_dead_code(struct bpf_verifier_env *env)
kernel/bpf/fixups.c
557
int bpf_opt_remove_nops(struct bpf_verifier_env *env)
kernel/bpf/fixups.c
582
int bpf_opt_subreg_zext_lo32_rnd_hi32(struct bpf_verifier_env *env,
kernel/bpf/fixups.c
688
int bpf_convert_ctx_accesses(struct bpf_verifier_env *env)
kernel/bpf/fixups.c
88
static int set_kfunc_desc_imm(struct bpf_verifier_env *env, struct bpf_kfunc_desc *desc)
kernel/bpf/fixups.c
988
static u32 *bpf_dup_subprog_starts(struct bpf_verifier_env *env)
kernel/bpf/liveness.c
101
static struct func_instance *lookup_instance(struct bpf_verifier_env *env,
kernel/bpf/liveness.c
1031
static void arg_track_log(struct bpf_verifier_env *env, struct bpf_insn *insn, int idx,
kernel/bpf/liveness.c
1094
static void arg_track_xfer(struct bpf_verifier_env *env, struct bpf_insn *insn,
kernel/bpf/liveness.c
120
int bpf_stack_liveness_init(struct bpf_verifier_env *env)
kernel/bpf/liveness.c
129
void bpf_stack_liveness_free(struct bpf_verifier_env *env)
kernel/bpf/liveness.c
1334
static int record_load_store_access(struct bpf_verifier_env *env,
kernel/bpf/liveness.c
1401
static int record_arg_access(struct bpf_verifier_env *env,
kernel/bpf/liveness.c
1438
static int record_call_access(struct bpf_verifier_env *env,
kernel/bpf/liveness.c
1472
static int find_callback_subprog(struct bpf_verifier_env *env,
kernel/bpf/liveness.c
1525
static void print_subprog_arg_access(struct bpf_verifier_env *env,
kernel/bpf/liveness.c
1614
static int compute_subprog_args(struct bpf_verifier_env *env,
kernel/bpf/liveness.c
1847
static int analyze_subprog(struct bpf_verifier_env *env,
kernel/bpf/liveness.c
1993
int bpf_compute_subprog_arg_access(struct bpf_verifier_env *env)
kernel/bpf/liveness.c
2063
static void compute_insn_live_regs(struct bpf_verifier_env *env,
kernel/bpf/liveness.c
218
bpf_insn_successors(struct bpf_verifier_env *env, u32 idx)
kernel/bpf/liveness.c
2206
int bpf_compute_live_registers(struct bpf_verifier_env *env)
kernel/bpf/liveness.c
273
static inline bool update_insn(struct bpf_verifier_env *env,
kernel/bpf/liveness.c
307
static void update_instance(struct bpf_verifier_env *env, struct func_instance *instance)
kernel/bpf/liveness.c
339
int bpf_live_stack_query_init(struct bpf_verifier_env *env, struct bpf_verifier_state *st)
kernel/bpf/liveness.c
360
bool bpf_stack_slot_alive(struct bpf_verifier_env *env, u32 frameno, u32 half_spi)
kernel/bpf/liveness.c
408
static char *fmt_subprog(struct bpf_verifier_env *env, int subprog)
kernel/bpf/liveness.c
417
static char *fmt_instance(struct bpf_verifier_env *env, struct func_instance *instance)
kernel/bpf/liveness.c
434
static char *fmt_spis_mask(struct bpf_verifier_env *env, int frame, bool first, spis_t spis)
kernel/bpf/liveness.c
478
static void print_instance(struct bpf_verifier_env *env, struct func_instance *instance)
kernel/bpf/liveness.c
546
static int print_instances(struct bpf_verifier_env *env)
kernel/bpf/liveness.c
61
static struct func_instance *find_instance(struct bpf_verifier_env *env,
kernel/bpf/liveness.c
638
static void verbose_arg_track(struct bpf_verifier_env *env, struct arg_track *at)
kernel/bpf/liveness.c
74
static struct func_instance *call_instance(struct bpf_verifier_env *env,
kernel/bpf/liveness.c
795
static bool arg_track_join(struct bpf_verifier_env *env, int idx, int target, int r,
kernel/bpf/log.c
304
__printf(2, 3) void bpf_verifier_log_write(struct bpf_verifier_env *env,
kernel/bpf/log.c
340
__printf(3, 4) void verbose_linfo(struct bpf_verifier_env *env,
kernel/bpf/log.c
399
const char *reg_type_str(struct bpf_verifier_env *env, enum bpf_reg_type type)
kernel/bpf/log.c
522
static void verbose_unum(struct bpf_verifier_env *env, u64 num)
kernel/bpf/log.c
530
static void verbose_snum(struct bpf_verifier_env *env, s64 num)
kernel/bpf/log.c
553
static void print_scalar_ranges(struct bpf_verifier_env *env,
kernel/bpf/log.c
635
static void print_reg_state(struct bpf_verifier_env *env,
kernel/bpf/log.c
711
void print_verifier_state(struct bpf_verifier_env *env, const struct bpf_verifier_state *vstate,
kernel/bpf/log.c
814
void print_insn_state(struct bpf_verifier_env *env, const struct bpf_verifier_state *vstate,
kernel/bpf/offload.c
303
int bpf_prog_offload_verify_insn(struct bpf_verifier_env *env,
kernel/bpf/offload.c
319
int bpf_prog_offload_finalize(struct bpf_verifier_env *env)
kernel/bpf/offload.c
338
bpf_prog_offload_replace_insn(struct bpf_verifier_env *env, u32 off,
kernel/bpf/offload.c
357
bpf_prog_offload_remove_insns(struct bpf_verifier_env *env, u32 off, u32 cnt)
kernel/bpf/states.c
1020
static int propagate_precision(struct bpf_verifier_env *env,
kernel/bpf/states.c
1084
static int propagate_backedges(struct bpf_verifier_env *env, struct bpf_scc_visit *visit)
kernel/bpf/states.c
116
static struct bpf_scc_visit *scc_visit_alloc(struct bpf_verifier_env *env,
kernel/bpf/states.c
12
static bool is_may_goto_insn_at(struct bpf_verifier_env *env, int insn_idx)
kernel/bpf/states.c
1213
static void mark_all_scalars_imprecise(struct bpf_verifier_env *env, struct bpf_verifier_state *st)
kernel/bpf/states.c
1238
int bpf_is_state_visited(struct bpf_verifier_env *env, int insn_idx)
kernel/bpf/states.c
140
static char *format_callchain(struct bpf_verifier_env *env, struct bpf_scc_callchain *callchain)
kernel/bpf/states.c
160
static int maybe_enter_scc(struct bpf_verifier_env *env, struct bpf_verifier_state *st)
kernel/bpf/states.c
17
static bool is_iter_next_insn(struct bpf_verifier_env *env, int insn_idx)
kernel/bpf/states.c
179
static int propagate_backedges(struct bpf_verifier_env *env, struct bpf_scc_visit *visit);
kernel/bpf/states.c
185
static int maybe_exit_scc(struct bpf_verifier_env *env, struct bpf_verifier_state *st)
kernel/bpf/states.c
22
static void update_peak_states(struct bpf_verifier_env *env)
kernel/bpf/states.c
227
static int add_scc_backedge(struct bpf_verifier_env *env,
kernel/bpf/states.c
259
static bool incomplete_read_marks(struct bpf_verifier_env *env,
kernel/bpf/states.c
273
int bpf_update_branch_counts(struct bpf_verifier_env *env, struct bpf_verifier_state *st)
kernel/bpf/states.c
398
static void __clean_func_state(struct bpf_verifier_env *env,
kernel/bpf/states.c
41
static bool incomplete_read_marks(struct bpf_verifier_env *env,
kernel/bpf/states.c
474
static int clean_verifier_state(struct bpf_verifier_env *env,
kernel/bpf/states.c
48
static void maybe_free_verifier_state(struct bpf_verifier_env *env,
kernel/bpf/states.c
507
static bool regsafe(struct bpf_verifier_env *env, struct bpf_reg_state *rold,
kernel/bpf/states.c
674
static bool is_stack_misc_after(struct bpf_verifier_env *env,
kernel/bpf/states.c
690
static struct bpf_reg_state *scalar_reg_for_stack(struct bpf_verifier_env *env,
kernel/bpf/states.c
702
static bool stacksafe(struct bpf_verifier_env *env, struct bpf_func_state *old,
kernel/bpf/states.c
74
static bool compute_scc_callchain(struct bpf_verifier_env *env,
kernel/bpf/states.c
846
static bool stack_arg_safe(struct bpf_verifier_env *env, struct bpf_func_state *old,
kernel/bpf/states.c
944
static bool func_states_equal(struct bpf_verifier_env *env, struct bpf_func_state *old,
kernel/bpf/states.c
97
static struct bpf_scc_visit *scc_visit_lookup(struct bpf_verifier_env *env,
kernel/bpf/states.c
971
static void reset_idmap_scratch(struct bpf_verifier_env *env)
kernel/bpf/states.c
979
static bool states_equal(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
10006
static int check_bpf_snprintf_call(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
1003
static bool is_iter_reg_valid_uninit(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
10044
static int check_get_func_ip(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
10065
static struct bpf_insn_aux_data *cur_aux(const struct bpf_verifier_env *env)
kernel/bpf/verifier.c
10070
static bool loop_flag_is_zero(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
10081
static void update_loop_inline_state(struct bpf_verifier_env *env, u32 subprogno)
kernel/bpf/verifier.c
10117
int bpf_get_helper_proto(struct bpf_verifier_env *env, int func_id,
kernel/bpf/verifier.c
10131
static inline bool in_sleepable_context(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
10140
static const char *non_sleepable_context_description(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
10153
static int release_reg(struct bpf_verifier_env *env, struct bpf_reg_state *reg,
kernel/bpf/verifier.c
10171
static int check_helper_call(struct bpf_verifier_env *env, struct bpf_insn *insn,
kernel/bpf/verifier.c
1030
static int is_iter_reg_valid_init(struct bpf_verifier_env *env, struct bpf_reg_state *reg,
kernel/bpf/verifier.c
1062
static int acquire_irq_state(struct bpf_verifier_env *env, int insn_idx);
kernel/bpf/verifier.c
1065
static int mark_stack_slot_irq_flag(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
10663
static void __mark_btf_func_reg_size(struct bpf_verifier_env *env, struct bpf_reg_state *regs,
kernel/bpf/verifier.c
10678
static void mark_btf_func_reg_size(struct bpf_verifier_env *env, u32 regno,
kernel/bpf/verifier.c
10901
static bool is_kfunc_arg_callback(struct bpf_verifier_env *env, const struct btf *btf,
kernel/bpf/verifier.c
10941
static bool __btf_type_is_scalar_struct(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
1098
static int unmark_stack_slot_irq_flag(struct bpf_verifier_env *env, struct bpf_reg_state *reg,
kernel/bpf/verifier.c
11258
get_kfunc_ptr_arg_type(struct bpf_verifier_env *env, struct bpf_func_state *caller,
kernel/bpf/verifier.c
11361
static int process_kf_arg_ptr_to_btf_id(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
11433
static int process_irq_flag(struct bpf_verifier_env *env, struct bpf_reg_state *reg, argno_t argno,
kernel/bpf/verifier.c
1148
static bool is_irq_flag_reg_valid_uninit(struct bpf_verifier_env *env, struct bpf_reg_state *reg)
kernel/bpf/verifier.c
11491
static int ref_set_non_owning(struct bpf_verifier_env *env, struct bpf_reg_state *reg)
kernel/bpf/verifier.c
11512
static void ref_convert_owning_non_owning(struct bpf_verifier_env *env, u32 id)
kernel/bpf/verifier.c
11573
static int check_reg_allocation_locked(struct bpf_verifier_env *env, struct bpf_reg_state *reg)
kernel/bpf/verifier.c
11700
static bool check_kfunc_is_graph_root_api(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
1172
static int is_irq_flag_reg_valid_init(struct bpf_verifier_env *env, struct bpf_reg_state *reg)
kernel/bpf/verifier.c
11725
static bool check_kfunc_is_graph_node_api(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
11757
__process_kf_arg_ptr_to_graph_root(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
11807
static int process_kf_arg_ptr_to_list_head(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
11815
static int process_kf_arg_ptr_to_rbtree_root(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
11824
__process_kf_arg_ptr_to_graph_node(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
11888
static int process_kf_arg_ptr_to_list_node(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
11897
static int process_kf_arg_ptr_to_rbtree_node(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
11912
static bool check_css_task_iter_allowlist(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
11928
static int check_kfunc_args(struct bpf_verifier_env *env, struct bpf_kfunc_call_arg_meta *meta,
kernel/bpf/verifier.c
1237
static void mark_stack_slot_misc(struct bpf_verifier_env *env, u8 *stype)
kernel/bpf/verifier.c
12519
int bpf_fetch_kfunc_arg_meta(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
12559
s64 bpf_helper_stack_access_bytes(struct bpf_verifier_env *env, struct bpf_insn *insn,
kernel/bpf/verifier.c
12677
s64 bpf_kfunc_stack_access_bytes(struct bpf_verifier_env *env, struct bpf_insn *insn,
kernel/bpf/verifier.c
12742
static int check_special_kfunc(struct bpf_verifier_env *env, struct bpf_kfunc_call_arg_meta *meta,
kernel/bpf/verifier.c
12911
static int check_return_code(struct bpf_verifier_env *env, int regno, const char *reg_name);
kernel/bpf/verifier.c
12913
static int check_kfunc_call(struct bpf_verifier_env *env, struct bpf_insn *insn,
kernel/bpf/verifier.c
13296
static bool check_reg_sane_offset_scalar(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
13325
static bool check_reg_sane_offset_ptr(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
13385
static bool can_skip_alu_sanitation(const struct bpf_verifier_env *env,
kernel/bpf/verifier.c
13410
static int sanitize_val_alu(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
13431
static int sanitize_speculative_path(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
13451
static int sanitize_ptr_alu(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
13547
static void sanitize_mark_insn_seen(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
13560
static int sanitize_err(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
13606
struct bpf_verifier_env *env,
kernel/bpf/verifier.c
13629
static int sanitize_check_bounds(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
13666
static int adjust_ptr_min_max_vals(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
1367
static int grow_stack_state(struct bpf_verifier_env *env, struct bpf_func_state *state, int size)
kernel/bpf/verifier.c
1391
static int grow_stack_arg_slots(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
1413
static struct bpf_reference_state *acquire_reference_state(struct bpf_verifier_env *env, int insn_idx)
kernel/bpf/verifier.c
1427
static int acquire_reference(struct bpf_verifier_env *env, int insn_idx, int parent_id)
kernel/bpf/verifier.c
1440
static int acquire_lock_state(struct bpf_verifier_env *env, int insn_idx, enum ref_state_type type,
kernel/bpf/verifier.c
14559
static int maybe_fork_scalars(struct bpf_verifier_env *env, struct bpf_insn *insn,
kernel/bpf/verifier.c
1459
static int acquire_irq_state(struct bpf_verifier_env *env, int insn_idx)
kernel/bpf/verifier.c
14592
static int adjust_scalar_min_max_vals(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
14750
static int adjust_reg_min_max_vals(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
14918
static int check_alu_op(struct bpf_verifier_env *env, struct bpf_insn *insn)
kernel/bpf/verifier.c
1507
static bool reg_is_referenced(struct bpf_verifier_env *env, const struct bpf_reg_state *reg)
kernel/bpf/verifier.c
15193
static int simulate_both_branches_taken(struct bpf_verifier_env *env, u8 opcode, bool is_jmp32)
kernel/bpf/verifier.c
15226
static int is_scalar_branch_taken(struct bpf_verifier_env *env, struct bpf_reg_state *reg1,
kernel/bpf/verifier.c
15450
static int is_branch_taken(struct bpf_verifier_env *env, struct bpf_reg_state *reg1,
kernel/bpf/verifier.c
15656
static int regs_bounds_sanity_check_branches(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
15853
static void collect_linked_regs(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
15886
static void sync_linked_regs(struct bpf_verifier_env *env, struct bpf_verifier_state *vstate,
kernel/bpf/verifier.c
15946
static int check_cond_jmp_op(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
16185
static int check_ld_imm(struct bpf_verifier_env *env, struct bpf_insn *insn)
kernel/bpf/verifier.c
16307
static int check_ld_abs(struct bpf_verifier_env *env, struct bpf_insn *insn)
kernel/bpf/verifier.c
16388
static bool return_retval_range(struct bpf_verifier_env *env, struct bpf_retval_range *range)
kernel/bpf/verifier.c
16499
static bool program_returns_void(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
16531
static int check_return_code(struct bpf_verifier_env *env, int regno, const char *reg_name)
kernel/bpf/verifier.c
16616
static int check_global_subprog_return_code(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
1665
static u32 state_htab_size(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
16654
bool bpf_verifier_inlines_helper_call(struct bpf_verifier_env *env, s32 imm)
kernel/bpf/verifier.c
16673
bool bpf_get_call_summary(struct bpf_verifier_env *env, struct bpf_insn *call,
kernel/bpf/verifier.c
1670
struct list_head *bpf_explored_state(struct bpf_verifier_env *env, int idx)
kernel/bpf/verifier.c
16788
static void mark_fastcall_pattern_for_call(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
16875
static int mark_fastcall_patterns(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
16903
static void adjust_btf_func(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
16952
void bpf_clear_singular_ids(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
17030
static int save_aux_ptr_type(struct bpf_verifier_env *env, enum bpf_reg_type type,
kernel/bpf/verifier.c
1705
static int pop_stack(struct bpf_verifier_env *env, int *prev_insn_idx,
kernel/bpf/verifier.c
17083
static int process_bpf_exit_full(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
17143
static int indirect_jump_min_max_index(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
17177
static int check_indirect_jump(struct bpf_verifier_env *env, struct bpf_insn *insn)
kernel/bpf/verifier.c
17235
static int do_check_insn(struct bpf_verifier_env *env, bool *do_print_state)
kernel/bpf/verifier.c
17341
static int do_check(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
1746
static struct bpf_verifier_state *push_stack(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
17559
static int __add_used_btf(struct bpf_verifier_env *env, struct btf *btf)
kernel/bpf/verifier.c
17600
static int __check_pseudo_btf_id(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
17683
static int check_pseudo_btf_id(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
17736
static int check_map_prog_compatibility(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
17843
static int __add_used_map(struct bpf_verifier_env *env, struct bpf_map *map)
kernel/bpf/verifier.c
1788
static const char *reg_arg_name(struct bpf_verifier_env *env, argno_t argno)
kernel/bpf/verifier.c
17890
static int add_used_map(struct bpf_verifier_env *env, int fd)
kernel/bpf/verifier.c
17904
static int check_alu_fields(struct bpf_verifier_env *env, struct bpf_insn *insn)
kernel/bpf/verifier.c
17978
static int check_jmp_fields(struct bpf_verifier_env *env, struct bpf_insn *insn)
kernel/bpf/verifier.c
18036
static int check_insn_fields(struct bpf_verifier_env *env, struct bpf_insn *insn)
kernel/bpf/verifier.c
18096
static int check_and_resolve_insns(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
18245
static void release_maps(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
18252
static void release_btfs(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
18258
static void convert_pseudo_ld_imm64(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
18273
static void release_insn_arrays(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
18294
static void sanitize_dead_code(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
18312
static void free_states(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
18355
static int do_check_common(struct bpf_verifier_env *env, int subprog)
kernel/bpf/verifier.c
1843
static void __mark_reg_const_zero(const struct bpf_verifier_env *env, struct bpf_reg_state *reg)
kernel/bpf/verifier.c
18526
static int do_check_subprogs(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
1853
static void mark_reg_known_zero(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
18580
static int do_check_main(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
18594
static void print_verification_stats(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
18628
static int check_struct_ops_btf_id(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
19331
static int check_attach_btf_id(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
19501
static int add_fd_from_fd_array(struct bpf_verifier_env *env, int fd)
kernel/bpf/verifier.c
19526
static int process_fd_array(struct bpf_verifier_env *env, union bpf_attr *attr, bpfptr_t uattr)
kernel/bpf/verifier.c
19562
static int specialize_kfunc(struct bpf_verifier_env *env, struct bpf_kfunc_desc *desc, int insn_idx)
kernel/bpf/verifier.c
19628
int bpf_fixup_kfunc_call(struct bpf_verifier_env *env, struct bpf_insn *insn,
kernel/bpf/verifier.c
19776
struct bpf_verifier_env *env;
kernel/bpf/verifier.c
19789
env = kvzalloc_obj(struct bpf_verifier_env, GFP_KERNEL_ACCOUNT);
kernel/bpf/verifier.c
203
static int acquire_reference(struct bpf_verifier_env *env, int insn_idx, int parent_id);
kernel/bpf/verifier.c
205
static int release_reference(struct bpf_verifier_env *env, int id);
kernel/bpf/verifier.c
206
static void invalidate_non_owning_refs(struct bpf_verifier_env *env);
kernel/bpf/verifier.c
207
static bool in_rbtree_lock_required_cb(struct bpf_verifier_env *env);
kernel/bpf/verifier.c
209
static int ref_set_non_owning(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
211
static bool is_trusted_reg(struct bpf_verifier_env *env, const struct bpf_reg_state *reg);
kernel/bpf/verifier.c
2113
static int reg_bounds_sanity_check(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
212
static inline bool in_sleepable_context(struct bpf_verifier_env *env);
kernel/bpf/verifier.c
213
static const char *non_sleepable_context_description(struct bpf_verifier_env *env);
kernel/bpf/verifier.c
2162
static void __mark_reg_unknown(const struct bpf_verifier_env *env,
kernel/bpf/verifier.c
2169
static void mark_reg_unknown(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
2175
static int __mark_reg_s32_range(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
2195
void bpf_mark_reg_not_init(const struct bpf_verifier_env *env,
kernel/bpf/verifier.c
2202
static int mark_btf_ld_reg(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
2232
static void init_reg_state(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
2258
static void init_func_state(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
2271
static struct bpf_verifier_state *push_async_cb(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
2320
struct bpf_subprog_info *bpf_find_containing_subprog(struct bpf_verifier_env *env, int off)
kernel/bpf/verifier.c
2341
int bpf_find_subprog(struct bpf_verifier_env *env, int off)
kernel/bpf/verifier.c
2351
static int add_subprog(struct bpf_verifier_env *env, int off)
kernel/bpf/verifier.c
2374
static int bpf_find_exception_callback_insn_off(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
242
static int validate_ref_obj(struct bpf_verifier_env *env, struct ref_obj_desc *ref_obj)
kernel/bpf/verifier.c
2493
static struct btf *__find_kfunc_desc_btf(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
2569
static struct btf *find_kfunc_desc_btf(struct bpf_verifier_env *env, s16 offset)
kernel/bpf/verifier.c
2614
static int fetch_kfunc_meta(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
2677
int bpf_add_kfunc_call(struct bpf_verifier_env *env, u32 func_id, u16 offset)
kernel/bpf/verifier.c
2777
static int add_subprog_and_kfunc(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
2840
static int check_subprogs(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
2903
static int sort_subprogs_topo(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
2984
static void mark_stack_slots_scratched(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
3083
static void mark_insn_zext(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
3096
static int __check_reg_arg(struct bpf_verifier_env *env, struct bpf_reg_state *regs, u32 regno,
kernel/bpf/verifier.c
3134
static int check_reg_arg(struct bpf_verifier_env *env, u32 regno,
kernel/bpf/verifier.c
3143
static void mark_indirect_target(struct bpf_verifier_env *env, int idx)
kernel/bpf/verifier.c
3247
void bpf_verbose_insn(struct bpf_verifier_env *env, struct bpf_insn *insn)
kernel/bpf/verifier.c
329
struct bpf_verifier_env *env = private_data;
kernel/bpf/verifier.c
3294
int mark_chain_precision(struct bpf_verifier_env *env, int regno)
kernel/bpf/verifier.c
3302
static int mark_chain_precision_batch(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
3364
static void assign_scalar_id_before_mov(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
3385
static void save_register_state(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
340
static void verbose_invalid_scalar(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
3413
static void check_fastcall_stack_contract(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
3452
static int check_stack_write_fixed_off(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
3583
static int check_stack_write_var_off(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
361
static bool reg_not_null(struct bpf_verifier_env *env, const struct bpf_reg_state *reg)
kernel/bpf/verifier.c
3707
static void mark_reg_stack_read(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
3747
static int check_stack_read_fixed_off(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
3899
static int check_stack_range_initialized(struct bpf_verifier_env *env, struct bpf_reg_state *reg,
kernel/bpf/verifier.c
3905
static struct bpf_reg_state *reg_state(struct bpf_verifier_env *env, int regno)
kernel/bpf/verifier.c
3923
static int check_stack_read_var_off(struct bpf_verifier_env *env, struct bpf_reg_state *reg,
kernel/bpf/verifier.c
395
bool bpf_subprog_is_global(const struct bpf_verifier_env *env, int subprog)
kernel/bpf/verifier.c
3953
static int check_stack_read(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
4008
static int check_stack_write(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
402
static bool subprog_returns_void(struct bpf_verifier_env *env, int subprog)
kernel/bpf/verifier.c
4034
static int check_stack_arg_write(struct bpf_verifier_env *env, struct bpf_func_state *state,
kernel/bpf/verifier.c
4074
static int check_stack_arg_read(struct bpf_verifier_env *env, struct bpf_func_state *state,
kernel/bpf/verifier.c
4102
static int mark_stack_arg_precision(struct bpf_verifier_env *env, int arg_idx)
kernel/bpf/verifier.c
4111
static int check_outgoing_stack_args(struct bpf_verifier_env *env, struct bpf_func_state *caller,
kernel/bpf/verifier.c
4138
static int check_map_access_type(struct bpf_verifier_env *env, struct bpf_reg_state *reg,
kernel/bpf/verifier.c
4160
static int __check_mem_access(struct bpf_verifier_env *env, struct bpf_reg_state *reg, argno_t argno,
kernel/bpf/verifier.c
4198
static int check_mem_region_access(struct bpf_verifier_env *env, struct bpf_reg_state *reg, argno_t argno,
kernel/bpf/verifier.c
425
static const char *subprog_name(const struct bpf_verifier_env *env, int subprog)
kernel/bpf/verifier.c
4250
static int __check_ptr_off_reg(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
4282
static int check_ptr_off_reg(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
4288
static int map_kptr_match_type(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
436
void bpf_mark_subprog_exc_cb(struct bpf_verifier_env *env, int subprog)
kernel/bpf/verifier.c
4367
static bool in_sleepable(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
4375
static bool in_rcu_cs(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
4427
static u32 btf_ld_kptr_type(struct bpf_verifier_env *env, struct btf_field *kptr_field)
kernel/bpf/verifier.c
445
static bool subprog_is_exc_cb(struct bpf_verifier_env *env, int subprog)
kernel/bpf/verifier.c
4450
static int mark_uptr_ld_reg(struct bpf_verifier_env *env, u32 regno,
kernel/bpf/verifier.c
4466
static int check_map_kptr_access(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
4543
static int check_map_access(struct bpf_verifier_env *env, struct bpf_reg_state *reg, argno_t argno,
kernel/bpf/verifier.c
4606
static bool may_access_direct_pkt_data(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
4648
static int check_packet_access(struct bpf_verifier_env *env, struct bpf_reg_state *reg, argno_t argno, int off,
kernel/bpf/verifier.c
4681
static int __check_ctx_access(struct bpf_verifier_env *env, int insn_idx, int off, int size,
kernel/bpf/verifier.c
4713
static int check_ctx_access(struct bpf_verifier_env *env, int insn_idx, struct bpf_reg_state *reg, argno_t argno,
kernel/bpf/verifier.c
4739
static int check_flow_keys_access(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
4763
static int check_sock_access(struct bpf_verifier_env *env, int insn_idx,
kernel/bpf/verifier.c
4806
static bool is_pointer_value(struct bpf_verifier_env *env, int regno)
kernel/bpf/verifier.c
4811
static bool is_ctx_reg(struct bpf_verifier_env *env, int regno)
kernel/bpf/verifier.c
4818
static bool is_sk_reg(struct bpf_verifier_env *env, int regno)
kernel/bpf/verifier.c
4825
static bool is_pkt_reg(struct bpf_verifier_env *env, int regno)
kernel/bpf/verifier.c
4832
static bool is_flow_key_reg(struct bpf_verifier_env *env, int regno)
kernel/bpf/verifier.c
4840
static bool is_arena_reg(struct bpf_verifier_env *env, int regno)
kernel/bpf/verifier.c
4850
static bool atomic_ptr_type_ok(struct bpf_verifier_env *env, int regno,
kernel/bpf/verifier.c
4876
static bool is_trusted_reg(struct bpf_verifier_env *env, const struct bpf_reg_state *reg)
kernel/bpf/verifier.c
4910
static int check_pkt_ptr_alignment(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
4945
static int check_generic_ptr_alignment(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
4969
static int check_ptr_alignment(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
5054
static int round_up_stack_depth(struct bpf_verifier_env *env, int stack_depth)
kernel/bpf/verifier.c
5076
static int check_max_stack_depth_subprog(struct bpf_verifier_env *env, int idx,
kernel/bpf/verifier.c
5273
static int check_max_stack_depth(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
530
static bool is_async_cb_sleepable(struct bpf_verifier_env *env, struct bpf_insn *insn)
kernel/bpf/verifier.c
5327
static int __check_buffer_access(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
5357
static int check_tp_buffer_access(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
5373
static int check_buffer_access(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
564
static int stack_slot_obj_get_spi(struct bpf_verifier_env *env, struct bpf_reg_state *reg,
kernel/bpf/verifier.c
5686
static bool type_is_rcu(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
5698
static bool type_is_rcu_or_null(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
5709
static bool type_is_trusted(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
5721
static bool type_is_trusted_or_null(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
5733
static int check_ptr_to_btf_access(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
5893
static int check_ptr_to_map_access(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
591
static int dynptr_get_spi(struct bpf_verifier_env *env, struct bpf_reg_state *reg)
kernel/bpf/verifier.c
596
static int iter_get_spi(struct bpf_verifier_env *env, struct bpf_reg_state *reg, int nr_slots)
kernel/bpf/verifier.c
5964
static int check_stack_slot_within_bounds(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
5987
struct bpf_verifier_env *env, struct bpf_reg_state *reg,
kernel/bpf/verifier.c
601
static int irq_flag_get_spi(struct bpf_verifier_env *env, struct bpf_reg_state *reg)
kernel/bpf/verifier.c
6078
static int check_mem_access(struct bpf_verifier_env *env, int insn_idx, struct bpf_reg_state *reg, argno_t argno,
kernel/bpf/verifier.c
6338
static int save_aux_ptr_type(struct bpf_verifier_env *env, enum bpf_reg_type type,
kernel/bpf/verifier.c
6341
static int check_load_mem(struct bpf_verifier_env *env, struct bpf_insn *insn,
kernel/bpf/verifier.c
6384
static int check_store_reg(struct bpf_verifier_env *env, struct bpf_insn *insn,
kernel/bpf/verifier.c
6422
static int check_atomic_rmw(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
6514
static int check_atomic_load(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
6533
static int check_atomic_store(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
6552
static int check_atomic(struct bpf_verifier_env *env, struct bpf_insn *insn)
kernel/bpf/verifier.c
656
static void mark_dynptr_stack_regs(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
6596
struct bpf_verifier_env *env, struct bpf_reg_state *reg, argno_t argno, int off,
kernel/bpf/verifier.c
667
static void mark_dynptr_cb_reg(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
674
static int destroy_if_dynptr_stack_slot(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
6741
static int check_helper_mem_access(struct bpf_verifier_env *env, struct bpf_reg_state *reg, argno_t argno,
kernel/bpf/verifier.c
677
static int mark_stack_slots_dynptr(struct bpf_verifier_env *env, struct bpf_reg_state *reg,
kernel/bpf/verifier.c
6831
static int check_mem_size_reg(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
6888
static int check_mem_reg(struct bpf_verifier_env *env, struct bpf_reg_state *reg,
kernel/bpf/verifier.c
6924
static int check_kfunc_mem_size_reg(struct bpf_verifier_env *env, struct bpf_reg_state *mem_reg,
kernel/bpf/verifier.c
6976
static int process_spin_lock(struct bpf_verifier_env *env, struct bpf_reg_state *reg, argno_t argno, int flags)
kernel/bpf/verifier.c
7092
static int check_map_field_pointer(struct bpf_verifier_env *env, struct bpf_reg_state *reg, argno_t argno,
kernel/bpf/verifier.c
7145
static int process_timer_func(struct bpf_verifier_env *env, struct bpf_reg_state *reg, argno_t argno,
kernel/bpf/verifier.c
7155
static int process_timer_helper(struct bpf_verifier_env *env, struct bpf_reg_state *reg, argno_t argno,
kernel/bpf/verifier.c
7161
static int process_timer_kfunc(struct bpf_verifier_env *env, struct bpf_reg_state *reg, argno_t argno,
kernel/bpf/verifier.c
7167
static int process_kptr_func(struct bpf_verifier_env *env, int regno,
kernel/bpf/verifier.c
7238
static int process_dynptr_func(struct bpf_verifier_env *env, struct bpf_reg_state *reg,
kernel/bpf/verifier.c
7358
static int process_iter_arg(struct bpf_verifier_env *env, struct bpf_reg_state *reg, argno_t argno, int insn_idx,
kernel/bpf/verifier.c
7448
static struct bpf_verifier_state *find_prev_entry(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
746
static void invalidate_dynptr(struct bpf_verifier_env *env, struct bpf_stack_state *stack)
kernel/bpf/verifier.c
7482
static void maybe_widen_reg(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
7494
static int widen_imprecise_scalars(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
759
static int unmark_stack_slots_dynptr(struct bpf_verifier_env *env, struct bpf_reg_state *reg)
kernel/bpf/verifier.c
7612
static int process_iter_next_call(struct bpf_verifier_env *env, int insn_idx,
kernel/bpf/verifier.c
7689
static int resolve_map_arg_type(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
779
static void __mark_reg_unknown(const struct bpf_verifier_env *env,
kernel/bpf/verifier.c
782
static void mark_reg_invalid(const struct bpf_verifier_env *env, struct bpf_reg_state *reg)
kernel/bpf/verifier.c
7833
static int check_reg_type(struct bpf_verifier_env *env, struct bpf_reg_state *reg, argno_t argno,
kernel/bpf/verifier.c
790
static int dynptr_ref_cnt(struct bpf_verifier_env *env, int v_parent_id)
kernel/bpf/verifier.c
8007
static int __check_func_arg_reg_off(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
8087
static int check_func_arg_reg_off(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
809
static int destroy_if_dynptr_stack_slot(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
8094
static int check_arg_const_str(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
8149
static int get_constant_map_key(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
8211
static int check_func_arg(struct bpf_verifier_env *env, u32 arg,
kernel/bpf/verifier.c
8453
static bool may_update_sockmap(struct bpf_verifier_env *env, int func_id)
kernel/bpf/verifier.c
847
static bool is_dynptr_reg_valid_uninit(struct bpf_verifier_env *env, struct bpf_reg_state *reg)
kernel/bpf/verifier.c
8491
bool bpf_allow_tail_call_in_subprogs(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
8497
static int check_map_func_compatibility(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
875
static bool is_dynptr_reg_valid_init(struct bpf_verifier_env *env, struct bpf_reg_state *reg)
kernel/bpf/verifier.c
8872
static void clear_all_pkt_pointers(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
8951
static int release_reference(struct bpf_verifier_env *env, int id)
kernel/bpf/verifier.c
9005
static void invalidate_non_owning_refs(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
9016
static void invalidate_rcu_protected_refs(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
9031
static int ref_convert_alloc_rcu_protected(struct bpf_verifier_env *env, u32 id)
kernel/bpf/verifier.c
904
static bool is_dynptr_type_expected(struct bpf_verifier_env *env, struct bpf_reg_state *reg,
kernel/bpf/verifier.c
9052
static void clear_caller_saved_regs(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
9064
static void invalidate_outgoing_stack_args(const struct bpf_verifier_env *env,
kernel/bpf/verifier.c
9073
typedef int (*set_callee_state_fn)(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
9078
static int set_callee_state(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
9082
static int setup_func_entry(struct bpf_verifier_env *env, int subprog, int callsite,
kernel/bpf/verifier.c
9130
static int btf_check_func_arg_match(struct bpf_verifier_env *env, int subprog,
kernel/bpf/verifier.c
9248
static int btf_check_subprog_call(struct bpf_verifier_env *env, int subprog,
kernel/bpf/verifier.c
9276
static int push_callback_call(struct bpf_verifier_env *env, struct bpf_insn *insn,
kernel/bpf/verifier.c
928
static bool in_rcu_cs(struct bpf_verifier_env *env);
kernel/bpf/verifier.c
932
static int mark_stack_slots_iter(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
9345
static int process_bpf_exit_full(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
9348
static int check_func_call(struct bpf_verifier_env *env, struct bpf_insn *insn,
kernel/bpf/verifier.c
9451
int map_set_for_each_callback_args(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
9478
static int set_callee_state(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
9492
static int set_map_elem_callback_state(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
9518
static int set_loop_callback_state(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
9540
static int set_timer_callback_state(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
9570
static int set_find_vma_callback_state(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
9598
static int set_user_ringbuf_callback_state(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
9621
static int set_rbtree_add_callback_state(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
9654
static int set_task_work_schedule_callback_state(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
9690
static bool in_rbtree_lock_required_cb(struct bpf_verifier_env *env)
kernel/bpf/verifier.c
9717
static int prepare_func_exit(struct bpf_verifier_env *env, int *insn_idx)
kernel/bpf/verifier.c
975
static int unmark_stack_slots_iter(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
9808
static int do_refine_retval_range(struct bpf_verifier_env *env,
kernel/bpf/verifier.c
9864
record_func_map(struct bpf_verifier_env *env, struct bpf_call_arg_meta *meta,
kernel/bpf/verifier.c
9910
record_func_key(struct bpf_verifier_env *env, struct bpf_call_arg_meta *meta,
kernel/bpf/verifier.c
9946
static int check_reference_leak(struct bpf_verifier_env *env, bool exception_exit)
kernel/bpf/verifier.c
9973
static int check_resource_leak(struct bpf_verifier_env *env, bool exception_exit, bool check_lock, const char *prefix)
tools/testing/selftests/bpf/progs/verifier_global_ptr_args.c
237
subprog_untrusted((void *)bpf_core_cast(0, struct bpf_verifier_env));