bpf_verifier_state
void print_verifier_state(struct bpf_verifier_env *env, const struct bpf_verifier_state *vstate,
void print_insn_state(struct bpf_verifier_env *env, const struct bpf_verifier_state *vstate,
int bpf_live_stack_query_init(struct bpf_verifier_env *env, struct bpf_verifier_state *st);
struct bpf_verifier_state *parent;
struct bpf_verifier_state *equal_state;
struct bpf_verifier_state *___vstate = __vst; \
struct bpf_verifier_state state;
struct bpf_verifier_state state;
struct bpf_verifier_state *entry_state;
struct bpf_verifier_state *cur_state; /* current verifier state */
struct bpf_verifier_state *cur = env->cur_state;
static void compute_callchain(struct bpf_verifier_env *env, struct bpf_verifier_state *st,
struct bpf_verifier_state *st,
int bpf_live_stack_query_init(struct bpf_verifier_env *env, struct bpf_verifier_state *st)
void print_verifier_state(struct bpf_verifier_env *env, const struct bpf_verifier_state *vstate,
void print_insn_state(struct bpf_verifier_env *env, const struct bpf_verifier_state *vstate,
static void mark_pkt_end(struct bpf_verifier_state *vstate, int regn, bool range_open)
static int release_reference_nomark(struct bpf_verifier_state *state, int ref_obj_id)
struct bpf_verifier_state *vstate = env->cur_state;
struct bpf_verifier_state *state)
struct bpf_verifier_state *state = env->cur_state, *callback_state;
struct bpf_verifier_state *async_cb;
struct bpf_verifier_state *state = env->cur_state;
struct bpf_verifier_state *state = env->cur_state;
struct bpf_verifier_state *state = env->cur_state, *prev_st;
struct bpf_verifier_state *state = env->cur_state;
static int release_irq_state(struct bpf_verifier_state *state, int id);
struct bpf_verifier_state *branch;
struct bpf_verifier_state *state = env->cur_state;
struct bpf_verifier_state *branch;
static int copy_reference_state(struct bpf_verifier_state *dst, const struct bpf_verifier_state *src)
struct bpf_verifier_state *branch;
struct bpf_verifier_state *vstate = env->cur_state;
struct bpf_verifier_state *vstate = env->cur_state;
static int resize_reference_state(struct bpf_verifier_state *state, size_t n)
struct bpf_verifier_state *vstate = env->cur_state;
struct bpf_verifier_state *state = env->cur_state;
struct bpf_verifier_state *state = env->cur_state;
struct bpf_verifier_state *state = env->cur_state;
static void release_reference_state(struct bpf_verifier_state *state, int idx)
static bool find_reference_state(struct bpf_verifier_state *state, int ptr_id)
struct bpf_verifier_state *branch;
static int release_lock_state(struct bpf_verifier_state *state, int type, int id, void *ptr)
struct bpf_verifier_state *vstate = env->cur_state;
static int release_irq_state(struct bpf_verifier_state *state, int id)
static struct bpf_reference_state *find_lock_state(struct bpf_verifier_state *state, enum ref_state_type type,
static void find_good_pkt_pointers(struct bpf_verifier_state *vstate,
static void clear_jmp_history(struct bpf_verifier_state *state)
static void free_verifier_state(struct bpf_verifier_state *state,
static struct bpf_verifier_state_list *state_parent_as_list(struct bpf_verifier_state *st)
struct bpf_verifier_state *st);
static void mark_ptr_or_null_regs(struct bpf_verifier_state *vstate, u32 regno,
struct bpf_verifier_state *this_branch,
struct bpf_verifier_state *other_branch)
struct bpf_verifier_state *vstate,
static void sync_linked_regs(struct bpf_verifier_env *env, struct bpf_verifier_state *vstate,
struct bpf_verifier_state *this_branch = env->cur_state;
struct bpf_verifier_state *other_branch;
struct bpf_verifier_state *cur_st = env->cur_state, *queued_st, *prev_st;
static int copy_verifier_state(struct bpf_verifier_state *dst_state,
const struct bpf_verifier_state *src)
struct bpf_verifier_state *cur = env->cur_state;
static bool same_callsites(struct bpf_verifier_state *a, struct bpf_verifier_state *b)
static u32 frame_insn_idx(struct bpf_verifier_state *st, u32 frame)
struct bpf_verifier_state *st,
struct bpf_verifier_state st;
static int maybe_enter_scc(struct bpf_verifier_env *env, struct bpf_verifier_state *st)
static int maybe_exit_scc(struct bpf_verifier_env *env, struct bpf_verifier_state *st)
struct bpf_verifier_state *st)
struct bpf_verifier_state *st)
struct bpf_verifier_state *cur)
struct bpf_verifier_state *st,
static bool refsafe(struct bpf_verifier_state *old, struct bpf_verifier_state *cur,
struct bpf_verifier_state *old,
struct bpf_verifier_state *cur,
const struct bpf_verifier_state *old,
struct bpf_verifier_state *cur,
struct bpf_verifier_state *st;
struct bpf_verifier_state *st)
static bool states_maybe_looping(struct bpf_verifier_state *old,
struct bpf_verifier_state *cur)
static bool iter_active_depths_differ(struct bpf_verifier_state *old, struct bpf_verifier_state *cur)
struct bpf_verifier_state *cur = env->cur_state, *new;
static int release_reference_nomark(struct bpf_verifier_state *state, int ref_obj_id);
static int update_branch_counts(struct bpf_verifier_env *env, struct bpf_verifier_state *st)
struct bpf_verifier_state *parent;
struct bpf_verifier_state *cur = env->cur_state;
struct bpf_verifier_state *other_branch;
struct bpf_verifier_state *state = env->cur_state;
static struct bpf_verifier_state *push_stack(struct bpf_verifier_env *env,
struct bpf_verifier_state *cur = env->cur_state;
struct bpf_verifier_state *state;
state = kzalloc_obj(struct bpf_verifier_state, GFP_KERNEL_ACCOUNT);
static struct bpf_verifier_state *push_async_cb(struct bpf_verifier_env *env,
struct bpf_verifier_state *vstate = env->cur_state;
static int push_jmp_history(struct bpf_verifier_env *env, struct bpf_verifier_state *cur,
static struct bpf_jmp_history_entry *get_jmp_hist_entry(struct bpf_verifier_state *st,
static int get_prev_insn_idx(struct bpf_verifier_state *st, int i,
struct bpf_verifier_state *st)
static void mark_all_scalars_imprecise(struct bpf_verifier_env *env, struct bpf_verifier_state *st)
struct bpf_verifier_state *starting_state,
struct bpf_verifier_state *st = starting_state;
struct bpf_verifier_state *starting_state)
struct bpf_verifier_state *vstate = env->cur_state;
struct bpf_verifier_state *vstate = env->cur_state;
struct bpf_verifier_state *vstate = env->cur_state;
struct bpf_verifier_state *vstate = env->cur_state;
struct bpf_verifier_state *cur = env->cur_state;
struct bpf_verifier_state *cur = env->cur_state;
static struct bpf_verifier_state *find_prev_entry(struct bpf_verifier_env *env,
struct bpf_verifier_state *cur,
struct bpf_verifier_state *st;
struct bpf_verifier_state *old,
struct bpf_verifier_state *cur)
static struct bpf_reg_state *get_iter_from_state(struct bpf_verifier_state *cur_st,
struct bpf_verifier_state *cur_st = env->cur_state, *queued_st, *prev_st;