Lines Matching defs:prog
75 * eBPF prog stack layout:
95 * | prog->aux->stack_depth |
104 bpf_stack_adjust = round_up(ctx->prog->aux->stack_depth, 16);
204 * Call the next bpf prog and skip the first instruction
253 * prog = array->ptrs[index];
254 * if (!prog)
264 /* goto *(prog->bpf_func + 4); */
295 int i = insn - ctx->prog->insnsi;
596 ret = bpf_jit_get_func_addr(ctx->prog, insn, extra_pass,
620 if (i == ctx->prog->len - 1)
781 const struct bpf_prog *prog = ctx->prog;
784 for (i = 0; i < prog->len; i++) {
785 const struct bpf_insn *insn = &prog->insnsi[i];
838 struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
840 struct bpf_prog *tmp, *orig_prog = prog;
853 if (!prog->jit_requested)
856 tmp = bpf_jit_blind_constants(prog);
864 if (tmp != prog) {
866 prog = tmp;
869 jit_data = prog->aux->jit_data;
873 prog = orig_prog;
876 prog->aux->jit_data = jit_data;
888 ctx.prog = prog;
890 ctx.offset = kcalloc(prog->len + 1, sizeof(*ctx.offset), GFP_KERNEL);
892 prog = orig_prog;
898 prog = orig_prog;
915 prog = orig_prog;
927 prog = orig_prog;
935 prog = orig_prog;
941 bpf_jit_dump(prog->len, image_size, 2, ctx.image);
946 if (!prog->is_func || extra_pass) {
951 prog->bpf_func = NULL;
952 prog->jited = 0;
961 prog->bpf_func = (void *)ctx.image;
962 prog->jited = 1;
963 prog->jited_len = image_size;
965 if (!prog->is_func || extra_pass) {
969 prog->aux->jit_data = NULL;
973 bpf_jit_prog_release_other(prog, prog == orig_prog ?
977 return prog;