• Home
  • Raw
  • Download

Lines Matching refs:st

170 	struct bpf_verifier_state st;  member
925 static void update_branch_counts(struct bpf_verifier_env *env, struct bpf_verifier_state *st) in update_branch_counts() argument
927 while (st) { in update_branch_counts()
928 u32 br = --st->branches; in update_branch_counts()
938 st = st->parent; in update_branch_counts()
953 err = copy_verifier_state(cur, &head->st); in pop_stack()
964 free_verifier_state(&head->st, false); in pop_stack()
989 err = copy_verifier_state(&elem->st, cur); in push_stack()
992 elem->st.speculative |= speculative; in push_stack()
998 if (elem->st.parent) { in push_stack()
999 ++elem->st.parent->branches; in push_stack()
1010 return &elem->st; in push_stack()
1800 static int get_prev_insn_idx(struct bpf_verifier_state *st, int i, in get_prev_insn_idx() argument
1805 if (cnt && st->jmp_history[cnt - 1].idx == i) { in get_prev_insn_idx()
1806 i = st->jmp_history[cnt - 1].prev_idx; in get_prev_insn_idx()
2023 struct bpf_verifier_state *st) in mark_all_scalars_precise() argument
2035 for (st = st->parent; st; st = st->parent) { in mark_all_scalars_precise()
2036 for (i = 0; i <= st->curframe; i++) { in mark_all_scalars_precise()
2037 func = st->frame[i]; in mark_all_scalars_precise()
2056 static void mark_all_scalars_imprecise(struct bpf_verifier_env *env, struct bpf_verifier_state *st) in mark_all_scalars_imprecise() argument
2062 for (i = 0; i <= st->curframe; i++) { in mark_all_scalars_imprecise()
2063 func = st->frame[i]; in mark_all_scalars_imprecise()
2171 struct bpf_verifier_state *st = env->cur_state; in __mark_chain_precision() local
2172 int first_idx = st->first_insn_idx; in __mark_chain_precision()
2189 func = st->frame[frame]; in __mark_chain_precision()
2220 u32 history = st->jmp_history_cnt; in __mark_chain_precision()
2231 if (st->curframe == 0 && in __mark_chain_precision()
2232 st->frame[0]->subprogno > 0 && in __mark_chain_precision()
2233 st->frame[0]->callsite == BPF_MAIN_FUNC && in __mark_chain_precision()
2237 reg = &st->frame[0]->regs[i]; in __mark_chain_precision()
2248 st->frame[0]->subprogno, reg_mask, stack_mask); in __mark_chain_precision()
2261 mark_all_scalars_precise(env, st); in __mark_chain_precision()
2274 i = get_prev_insn_idx(st, i, &history); in __mark_chain_precision()
2287 st = st->parent; in __mark_chain_precision()
2288 if (!st) in __mark_chain_precision()
2292 func = st->frame[frame]; in __mark_chain_precision()
2321 mark_all_scalars_precise(env, st); in __mark_chain_precision()
2350 last_idx = st->last_insn_idx; in __mark_chain_precision()
2351 first_idx = st->first_insn_idx; in __mark_chain_precision()
9251 struct bpf_func_state *st) in clean_func_state() argument
9257 live = st->regs[i].live; in clean_func_state()
9259 st->regs[i].live |= REG_LIVE_DONE; in clean_func_state()
9264 __mark_reg_not_init(env, &st->regs[i]); in clean_func_state()
9267 for (i = 0; i < st->allocated_stack / BPF_REG_SIZE; i++) { in clean_func_state()
9268 live = st->stack[i].spilled_ptr.live; in clean_func_state()
9270 st->stack[i].spilled_ptr.live |= REG_LIVE_DONE; in clean_func_state()
9272 __mark_reg_not_init(env, &st->stack[i].spilled_ptr); in clean_func_state()
9274 st->stack[i].slot_type[j] = STACK_INVALID; in clean_func_state()
9280 struct bpf_verifier_state *st) in clean_verifier_state() argument
9284 if (st->frame[0]->regs[0].live & REG_LIVE_DONE) in clean_verifier_state()
9288 for (i = 0; i <= st->curframe; i++) in clean_verifier_state()
9289 clean_func_state(env, st->frame[i]); in clean_verifier_state()