• Home
  • Raw
  • Download

Lines Matching refs:frame

646 	return cur->frame[reg->frameno];  in func()
1179 free_func_state(state->frame[i]); in free_verifier_state()
1180 state->frame[i] = NULL; in free_verifier_state()
1217 free_func_state(dst_state->frame[i]); in copy_verifier_state()
1218 dst_state->frame[i] = NULL; in copy_verifier_state()
1228 dst = dst_state->frame[i]; in copy_verifier_state()
1233 dst_state->frame[i] = dst; in copy_verifier_state()
1235 err = copy_func_state(dst, src->frame[i]); in copy_verifier_state()
1798 struct bpf_func_state *frame; in push_async_cb() local
1822 frame = kzalloc(sizeof(*frame), GFP_KERNEL); in push_async_cb()
1823 if (!frame) in push_async_cb()
1825 init_func_state(env, frame, in push_async_cb()
1829 elem->st.frame[0] = frame; in push_async_cb()
2472 struct bpf_func_state *state = vstate->frame[vstate->curframe]; in check_reg_arg()
2820 func = st->frame[i]; in mark_all_scalars_precise()
2846 func = st->frame[i]; in mark_all_scalars_imprecise()
2951 static int __mark_chain_precision(struct bpf_verifier_env *env, int frame, int regno, in __mark_chain_precision() argument
2972 func = st->frame[frame]; in __mark_chain_precision()
3015 st->frame[0]->subprogno > 0 && in __mark_chain_precision()
3016 st->frame[0]->callsite == BPF_MAIN_FUNC && in __mark_chain_precision()
3020 reg = &st->frame[0]->regs[i]; in __mark_chain_precision()
3031 st->frame[0]->subprogno, reg_mask, stack_mask); in __mark_chain_precision()
3075 func = st->frame[frame]; in __mark_chain_precision()
3144 static int mark_chain_precision_frame(struct bpf_verifier_env *env, int frame, int regno) in mark_chain_precision_frame() argument
3146 return __mark_chain_precision(env, frame, regno, -1); in mark_chain_precision_frame()
3149 static int mark_chain_precision_stack_frame(struct bpf_verifier_env *env, int frame, int spi) in mark_chain_precision_stack_frame() argument
3151 return __mark_chain_precision(env, frame, -1, spi); in mark_chain_precision_stack_frame()
3276 cur = env->cur_state->frame[env->cur_state->curframe]; in check_stack_write_fixed_off()
3406 cur = env->cur_state->frame[env->cur_state->curframe]; in check_stack_write_var_off()
3494 struct bpf_func_state *state = vstate->frame[vstate->curframe]; in mark_reg_stack_read()
3545 struct bpf_func_state *state = vstate->frame[vstate->curframe]; in check_stack_read_fixed_off()
3837 struct bpf_func_state *state = vstate->frame[vstate->curframe]; in check_mem_region_access()
4058 struct bpf_func_state *state = vstate->frame[vstate->curframe]; in check_map_access()
4474 int depth = 0, frame = 0, i, subprog_end; in check_max_stack_depth_subprog() local
4513 frame + 1, depth); in check_max_stack_depth_subprog()
4524 ret_insn[frame] = i + 1; in check_max_stack_depth_subprog()
4525 ret_prog[frame] = idx; in check_max_stack_depth_subprog()
4550 frame++; in check_max_stack_depth_subprog()
4551 if (frame >= MAX_CALL_FRAMES) { in check_max_stack_depth_subprog()
4553 frame); in check_max_stack_depth_subprog()
4564 for (j = 0; j < frame; j++) in check_max_stack_depth_subprog()
4572 if (frame == 0) in check_max_stack_depth_subprog()
4575 frame--; in check_max_stack_depth_subprog()
4576 i = ret_insn[frame]; in check_max_stack_depth_subprog()
4577 idx = ret_prog[frame]; in check_max_stack_depth_subprog()
6846 struct bpf_func_state *state = vstate->frame[vstate->curframe]; in mark_pkt_end()
6928 caller = state->frame[state->curframe]; in __check_func_call()
6929 if (state->frame[state->curframe + 1]) { in __check_func_call()
6983 callee = async_cb->frame[0]; in __check_func_call()
7001 state->frame[state->curframe + 1] = callee; in __check_func_call()
7040 state->frame[state->curframe + 1] = NULL; in __check_func_call()
7242 callee = state->frame[state->curframe]; in prepare_func_exit()
7255 caller = state->frame[state->curframe - 1]; in prepare_func_exit()
7301 state->frame[state->curframe--] = NULL; in prepare_func_exit()
8249 regs = branch->frame[branch->curframe]->regs; in sanitize_speculative_path()
8485 struct bpf_func_state *state = vstate->frame[vstate->curframe]; in adjust_ptr_min_max_vals()
9445 struct bpf_func_state *state = vstate->frame[vstate->curframe]; in adjust_reg_min_max_vals()
10281 struct bpf_func_state *state = vstate->frame[vstate->curframe]; in mark_ptr_or_null_regs()
10420 struct bpf_reg_state *regs = this_branch->frame[this_branch->curframe]->regs; in check_cond_jmp_op()
10509 print_insn_state(env, this_branch->frame[this_branch->curframe]); in check_cond_jmp_op()
10523 print_insn_state(env, this_branch->frame[this_branch->curframe]); in check_cond_jmp_op()
10531 other_branch_regs = other_branch->frame[other_branch->curframe]->regs; in check_cond_jmp_op()
10608 print_insn_state(env, this_branch->frame[this_branch->curframe]); in check_cond_jmp_op()
10817 struct bpf_func_state *frame = env->cur_state->frame[0]; in check_return_code() local
10818 const bool is_subprog = frame->subprogno; in check_return_code()
10854 if (frame->in_async_callback_fn) { in check_return_code()
11021 struct bpf_func_state *state = cur->frame[cur->curframe]; in explored_state()
11724 if (st->frame[0]->regs[0].live & REG_LIVE_DONE) in clean_verifier_state()
11729 clean_func_state(env, st->frame[i]); in clean_verifier_state()
11778 if (sl->state.frame[i]->callsite != cur->frame[i]->callsite) in clean_live_states()
12044 if (old->frame[i]->callsite != cur->frame[i]->callsite) in states_equal()
12046 if (!func_states_equal(env, old->frame[i], cur->frame[i])) in states_equal()
12094 int i, frame, err = 0; in propagate_liveness() local
12103 for (frame = 0; frame <= vstate->curframe; frame++) { in propagate_liveness()
12104 parent = vparent->frame[frame]; in propagate_liveness()
12105 state = vstate->frame[frame]; in propagate_liveness()
12109 for (i = frame < vstate->curframe ? BPF_REG_6 : 0; i < BPF_REG_FP; i++) { in propagate_liveness()
12143 state = old->frame[fr]; in propagate_precision()
12185 fold = old->frame[fr]; in states_maybe_looping()
12186 fcur = cur->frame[fr]; in states_maybe_looping()
12233 struct bpf_func_state *frame = sl->state.frame[sl->state.curframe]; in is_state_visited() local
12235 if (frame->in_async_callback_fn && in is_state_visited()
12236 frame->async_entry_cnt != cur->frame[cur->curframe]->async_entry_cnt) { in is_state_visited()
12315 if (sl->state.frame[0]->regs[0].live & REG_LIVE_DONE) { in is_state_visited()
12402 cur->frame[j]->regs[i].parent = &new->frame[j]->regs[i]; in is_state_visited()
12404 cur->frame[j]->regs[i].live = REG_LIVE_NONE; in is_state_visited()
12409 struct bpf_func_state *frame = cur->frame[j]; in is_state_visited() local
12410 struct bpf_func_state *newframe = new->frame[j]; in is_state_visited()
12412 for (i = 0; i < frame->allocated_stack / BPF_REG_SIZE; i++) { in is_state_visited()
12413 frame->stack[i].spilled_ptr.live = REG_LIVE_NONE; in is_state_visited()
12414 frame->stack[i].spilled_ptr.parent = in is_state_visited()
12515 print_verifier_state(env, state->frame[state->curframe], true); in do_check()
12527 print_insn_state(env, state->frame[state->curframe]); in do_check()
14914 state->frame[0] = kzalloc(sizeof(struct bpf_func_state), GFP_KERNEL); in do_check_common()
14915 if (!state->frame[0]) { in do_check_common()
14920 init_func_state(env, state->frame[0], in do_check_common()
14927 regs = state->frame[state->curframe]->regs; in do_check_common()