• Home
  • Raw
  • Download

Lines Matching refs:func

425 static struct bpf_func_state *func(struct bpf_verifier_env *env,  in func()  function
1645 struct bpf_func_state *func; in mark_all_scalars_precise() local
1654 func = st->frame[i]; in mark_all_scalars_precise()
1656 reg = &func->regs[j]; in mark_all_scalars_precise()
1661 for (j = 0; j < func->allocated_stack / BPF_REG_SIZE; j++) { in mark_all_scalars_precise()
1662 if (func->stack[j].slot_type[0] != STACK_SPILL) in mark_all_scalars_precise()
1664 reg = &func->stack[j].spilled_ptr; in mark_all_scalars_precise()
1678 struct bpf_func_state *func; in __mark_chain_precision() local
1690 func = st->frame[st->curframe]; in __mark_chain_precision()
1692 reg = &func->regs[regno]; in __mark_chain_precision()
1705 if (func->stack[spi].slot_type[0] != STACK_SPILL) { in __mark_chain_precision()
1709 reg = &func->stack[spi].spilled_ptr; in __mark_chain_precision()
1771 func = st->frame[st->curframe]; in __mark_chain_precision()
1774 reg = &func->regs[i]; in __mark_chain_precision()
1786 if (i >= func->allocated_stack / BPF_REG_SIZE) { in __mark_chain_precision()
1804 if (func->stack[i].slot_type[0] != STACK_SPILL) { in __mark_chain_precision()
1808 reg = &func->stack[i].spilled_ptr; in __mark_chain_precision()
1818 print_verifier_state(env, func); in __mark_chain_precision()
2589 const struct bpf_func_state *func, in update_stack_depth() argument
2592 u16 stack = env->subprog_info[func->subprogno].stack_depth; in update_stack_depth()
2598 env->subprog_info[func->subprogno].stack_depth = -off; in update_stack_depth()
2836 state = func(env, reg); in check_mem_access()
2979 struct bpf_func_state *state = func(env, reg); in check_stack_boundary()
3982 changes_data = bpf_helper_changes_pkt_data(fn->func); in check_helper_call()
8694 struct bpf_prog *prog = env->prog, **func, *tmp; in jit_subprogs() local
8734 func = kcalloc(env->subprog_cnt, sizeof(prog), GFP_KERNEL); in jit_subprogs()
8735 if (!func) in jit_subprogs()
8748 func[i] = bpf_prog_alloc_no_stats(bpf_prog_size(len), GFP_USER); in jit_subprogs()
8749 if (!func[i]) in jit_subprogs()
8751 memcpy(func[i]->insnsi, &prog->insnsi[subprog_start], in jit_subprogs()
8753 func[i]->type = prog->type; in jit_subprogs()
8754 func[i]->len = len; in jit_subprogs()
8755 if (bpf_prog_calc_tag(func[i])) in jit_subprogs()
8757 func[i]->is_func = 1; in jit_subprogs()
8758 func[i]->aux->func_idx = i; in jit_subprogs()
8760 func[i]->aux->btf = prog->aux->btf; in jit_subprogs()
8761 func[i]->aux->func_info = prog->aux->func_info; in jit_subprogs()
8766 func[i]->aux->name[0] = 'F'; in jit_subprogs()
8767 func[i]->aux->stack_depth = env->subprog_info[i].stack_depth; in jit_subprogs()
8768 func[i]->jit_requested = 1; in jit_subprogs()
8769 func[i]->aux->linfo = prog->aux->linfo; in jit_subprogs()
8770 func[i]->aux->nr_linfo = prog->aux->nr_linfo; in jit_subprogs()
8771 func[i]->aux->jited_linfo = prog->aux->jited_linfo; in jit_subprogs()
8772 func[i]->aux->linfo_idx = env->subprog_info[i].linfo_idx; in jit_subprogs()
8773 func[i] = bpf_int_jit_compile(func[i]); in jit_subprogs()
8774 if (!func[i]->jited) { in jit_subprogs()
8785 insn = func[i]->insnsi; in jit_subprogs()
8786 for (j = 0; j < func[i]->len; j++, insn++) { in jit_subprogs()
8791 insn->imm = BPF_CAST_CALL(func[subprog]->bpf_func) - in jit_subprogs()
8806 func[i]->aux->func = func; in jit_subprogs()
8807 func[i]->aux->func_cnt = env->subprog_cnt; in jit_subprogs()
8810 old_bpf_func = func[i]->bpf_func; in jit_subprogs()
8811 tmp = bpf_int_jit_compile(func[i]); in jit_subprogs()
8812 if (tmp != func[i] || func[i]->bpf_func != old_bpf_func) { in jit_subprogs()
8824 bpf_prog_lock_ro(func[i]); in jit_subprogs()
8825 bpf_prog_kallsyms_add(func[i]); in jit_subprogs()
8842 prog->bpf_func = func[0]->bpf_func; in jit_subprogs()
8843 prog->aux->func = func; in jit_subprogs()
8849 if (func[i]) in jit_subprogs()
8850 bpf_jit_free(func[i]); in jit_subprogs()
8851 kfree(func); in jit_subprogs()
9177 if (!fn->func) { in fixup_bpf_calls()
9183 insn->imm = fn->func - __bpf_call_base; in fixup_bpf_calls()