Lines Matching refs:fp

27 static int bpf_jit_fixup_subprog_calls(struct bpf_prog *fp, u32 *image,  in bpf_jit_fixup_subprog_calls()  argument
30 const struct bpf_insn *insn = fp->insnsi; in bpf_jit_fixup_subprog_calls()
36 for (i = 0; i < fp->len; i++) { in bpf_jit_fixup_subprog_calls()
48 ret = bpf_jit_get_func_addr(fp, &insn[i], true, in bpf_jit_fixup_subprog_calls()
88 struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *fp) in bpf_int_jit_compile() argument
100 struct bpf_prog *org_fp = fp; in bpf_int_jit_compile()
105 if (!fp->jit_requested) in bpf_int_jit_compile()
114 fp = tmp_fp; in bpf_int_jit_compile()
117 jit_data = fp->aux->jit_data; in bpf_int_jit_compile()
121 fp = org_fp; in bpf_int_jit_compile()
124 fp->aux->jit_data = jit_data; in bpf_int_jit_compile()
127 flen = fp->len; in bpf_int_jit_compile()
141 fp = org_fp; in bpf_int_jit_compile()
149 cgctx.stack_size = round_up(fp->aux->stack_depth, 16); in bpf_int_jit_compile()
152 if (bpf_jit_build_body(fp, 0, &cgctx, addrs, false)) { in bpf_int_jit_compile()
154 fp = org_fp; in bpf_int_jit_compile()
165 if (bpf_jit_build_body(fp, 0, &cgctx, addrs, false)) { in bpf_int_jit_compile()
166 fp = org_fp; in bpf_int_jit_compile()
185 fp = org_fp; in bpf_int_jit_compile()
202 bpf_jit_fixup_subprog_calls(fp, code_base, &cgctx, addrs); in bpf_int_jit_compile()
213 if (bpf_jit_build_body(fp, code_base, &cgctx, addrs, extra_pass)) { in bpf_int_jit_compile()
215 fp = org_fp; in bpf_int_jit_compile()
239 fp->bpf_func = (void *)image; in bpf_int_jit_compile()
240 fp->jited = 1; in bpf_int_jit_compile()
241 fp->jited_len = alloclen; in bpf_int_jit_compile()
244 if (!fp->is_func || extra_pass) { in bpf_int_jit_compile()
246 bpf_prog_fill_jited_linfo(fp, addrs); in bpf_int_jit_compile()
250 fp->aux->jit_data = NULL; in bpf_int_jit_compile()
261 bpf_jit_prog_release_other(fp, fp == org_fp ? tmp_fp : org_fp); in bpf_int_jit_compile()
263 return fp; in bpf_int_jit_compile()