Lines Matching defs:insn_buf

783 	/* use env->insn_buf as two independent buffers */
784 struct bpf_insn *zext_patch = env->insn_buf;
785 struct bpf_insn *rnd_hi32_patch = &env->insn_buf[2];
938 struct bpf_insn *insn_buf = env->insn_buf;
956 insn_buf[cnt++] = BPF_STX_MEM(BPF_DW, BPF_REG_FP, BPF_REG_1,
958 insn_buf[cnt++] = env->prog->insnsi[0];
959 new_prog = __bpf_patch_insn_data(env, 0, insn_buf, cnt,
977 cnt = ops->gen_prologue(insn_buf, env->seen_direct_write,
995 new_prog = __bpf_patch_insn_data(env, 0, insn_buf, cnt,
1003 ret = add_kfunc_in_insns(env, insn_buf, cnt - 1);
1024 struct bpf_insn *patch = insn_buf;
1034 cnt = patch - insn_buf;
1035 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
1079 cnt = arena_member_fixup(env, i + delta, insn, insn_buf);
1082 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
1096 insn_buf[0] = BPF_JMP32_A(epilogue_idx - i - delta - 1);
1099 memcpy(insn_buf, epilogue_buf,
1118 struct bpf_insn *patch = insn_buf;
1122 cnt = patch - insn_buf;
1123 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
1186 cnt = arena_member_fixup(env, i + delta, insn, insn_buf);
1191 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
1232 cnt = convert_ctx_access(type, insn, insn_buf, env->prog,
1249 insn_buf[cnt++] = BPF_ALU32_IMM(BPF_RSH,
1252 insn_buf[cnt++] = BPF_ALU32_IMM(BPF_AND, insn->dst_reg,
1256 insn_buf[cnt++] = BPF_ALU64_IMM(BPF_RSH,
1259 insn_buf[cnt++] = BPF_ALU32_IMM(BPF_AND, insn->dst_reg,
1264 insn_buf[cnt++] = BPF_RAW_INSN(BPF_ALU64 | BPF_MOV | BPF_X,
1269 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
1812 static int may_goto_expand(struct bpf_insn *insn_buf, int off, int stack_off,
1820 insn_buf[cnt++] = BPF_LDX_MEM(BPF_DW, BPF_REG_AX, BPF_REG_10, stack_off);
1822 insn_buf[cnt++] = BPF_JMP_IMM(BPF_JEQ, BPF_REG_AX, 0, off);
1824 insn_buf[cnt++] = BPF_JMP_IMM(BPF_JNE, BPF_REG_AX, 0, 1);
1825 insn_buf[cnt++] = BPF_JMP32_A(off >= 0 ? off : off - 1);
1827 memcpy(insn_buf + cnt, tail, tail_cnt * sizeof(*tail));
1844 struct bpf_insn *insn_buf = env->insn_buf;
1853 struct bpf_insn *patch = insn_buf;
1858 ret = add_hidden_subprog(env, insn_buf, patch - insn_buf);
1884 cnt = arena_scalar_access(insn, insn_buf);
1886 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
1905 struct bpf_insn *patch = insn_buf;
1914 cnt = patch - insn_buf;
1916 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
1935 struct bpf_insn *patch = insn_buf;
1961 cnt = patch - insn_buf;
1983 cnt = patch - insn_buf;
1992 cnt = patch - insn_buf;
2004 cnt = patch - insn_buf;
2007 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2021 struct bpf_insn *patch = insn_buf;
2036 cnt = patch - insn_buf;
2037 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2051 cnt = env->ops->gen_ld_abs(insn, insn_buf);
2057 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2072 struct bpf_insn *patch = insn_buf;
2108 cnt = patch - insn_buf;
2110 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2150 cnt = may_goto_expand(insn_buf, insn->off, stack_off_cnt,
2153 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2169 cnt = may_goto_expand(insn_buf, insn->off, stack_off,
2172 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2204 insn_buf[0] = insn[1];
2205 insn_buf[1] = BPF_MOV64_PERCPU_REG(insn->dst_reg, insn->dst_reg);
2209 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2224 ret = bpf_fixup_kfunc_call(env, insn, insn_buf, i + delta, &cnt);
2230 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2313 insn_buf[0] = BPF_JMP_IMM(BPF_JGE, BPF_REG_3,
2315 insn_buf[1] = BPF_ALU32_IMM(BPF_AND, BPF_REG_3,
2319 insn_buf[2] = *insn;
2321 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2350 insn_buf[0] = ld_addrs[0];
2351 insn_buf[1] = ld_addrs[1];
2352 insn_buf[2] = *insn;
2355 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2370 insn_buf[0] = BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_1, 0);
2371 insn_buf[1] = *insn;
2374 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2406 cnt = ops->map_gen_lookup(map_ptr, insn_buf);
2418 insn_buf, cnt);
2494 insn_buf[0] = ld_jiffies_addr[0];
2495 insn_buf[1] = ld_jiffies_addr[1];
2496 insn_buf[2] = BPF_LDX_MEM(BPF_DW, BPF_REG_0,
2500 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf,
2522 insn_buf[0] = BPF_MOV64_IMM(BPF_REG_0, (u32)(unsigned long)&cpu_number);
2523 insn_buf[1] = BPF_MOV64_PERCPU_REG(BPF_REG_0, BPF_REG_0);
2524 insn_buf[2] = BPF_LDX_MEM(BPF_W, BPF_REG_0, BPF_REG_0, 0);
2527 insn_buf[0] = BPF_ALU32_REG(BPF_XOR, BPF_REG_0, BPF_REG_0);
2530 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2544 insn_buf[0] = BPF_MOV64_IMM(BPF_REG_0, (u32)(unsigned long)&current_task);
2545 insn_buf[1] = BPF_MOV64_PERCPU_REG(BPF_REG_0, BPF_REG_0);
2546 insn_buf[2] = BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_0, 0);
2549 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2566 insn_buf[0] = BPF_MOV64_IMM(BPF_REG_0, nr_args - 1);
2570 insn_buf[0] = BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_1, -8);
2571 insn_buf[1] = BPF_ALU64_IMM(BPF_AND, BPF_REG_0, 0xFF);
2574 insn_buf[cnt++] = BPF_JMP32_REG(BPF_JGE, BPF_REG_2, BPF_REG_0, 6);
2575 insn_buf[cnt++] = BPF_ALU32_IMM(BPF_LSH, BPF_REG_2, 3);
2576 insn_buf[cnt++] = BPF_ALU64_REG(BPF_ADD, BPF_REG_2, BPF_REG_1);
2577 insn_buf[cnt++] = BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_2, 0);
2578 insn_buf[cnt++] = BPF_STX_MEM(BPF_DW, BPF_REG_3, BPF_REG_0, 0);
2579 insn_buf[cnt++] = BPF_MOV64_IMM(BPF_REG_0, 0);
2580 insn_buf[cnt++] = BPF_JMP_A(1);
2581 insn_buf[cnt++] = BPF_MOV64_IMM(BPF_REG_0, -EINVAL);
2583 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2602 insn_buf[0] = BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_1, -8);
2603 insn_buf[1] = BPF_ALU64_IMM(BPF_AND, BPF_REG_0, 0xFF);
2604 insn_buf[2] = BPF_ALU64_IMM(BPF_LSH, BPF_REG_0, 3);
2605 insn_buf[3] = BPF_ALU64_REG(BPF_ADD, BPF_REG_0, BPF_REG_1);
2606 insn_buf[4] = BPF_LDX_MEM(BPF_DW, BPF_REG_3, BPF_REG_0, 0);
2607 insn_buf[5] = BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_3, 0);
2608 insn_buf[6] = BPF_MOV64_IMM(BPF_REG_0, 0);
2611 insn_buf[0] = BPF_MOV64_IMM(BPF_REG_0, -EOPNOTSUPP);
2615 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2632 insn_buf[0] = BPF_MOV64_IMM(BPF_REG_0, nr_args - 1);
2636 insn_buf[0] = BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_1, -8);
2637 insn_buf[1] = BPF_ALU64_IMM(BPF_AND, BPF_REG_0, 0xFF);
2641 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2655 insn_buf[0] = BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_1, -16);
2657 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, 1);
2683 insn_buf[0] = BPF_JMP_IMM(BPF_JNE, BPF_REG_3, 0, 7);
2694 insn_buf[1] = BPF_MOV32_IMM(BPF_REG_0, 0xaaaaaaab);
2695 insn_buf[2] = BPF_ALU64_REG(BPF_MUL, BPF_REG_2, BPF_REG_0);
2696 insn_buf[3] = BPF_ALU64_IMM(BPF_RSH, BPF_REG_2, 36);
2699 insn_buf[4] = BPF_EMIT_CALL(static_call_query(perf_snapshot_branch_stack));
2701 insn_buf[5] = BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 4);
2703 insn_buf[6] = BPF_ALU32_IMM(BPF_MUL, BPF_REG_0, br_entry_size);
2704 insn_buf[7] = BPF_JMP_A(3);
2706 insn_buf[8] = BPF_MOV64_IMM(BPF_REG_0, -EINVAL);
2707 insn_buf[9] = BPF_JMP_A(1);
2709 insn_buf[10] = BPF_MOV64_IMM(BPF_REG_0, -ENOENT);
2712 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2726 insn_buf[0] = BPF_MOV64_REG(BPF_REG_0, BPF_REG_2);
2727 insn_buf[1] = BPF_ATOMIC_OP(BPF_DW, BPF_XCHG, BPF_REG_1, BPF_REG_0, 0);
2730 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
2787 insn_buf[cnt++] = BPF_ST_MEM(BPF_DW, BPF_REG_FP, -stack_depth,
2789 insn_buf[cnt++] = BPF_ST_MEM(BPF_DW, BPF_REG_FP, -stack_depth + 8, 0);
2792 insn_buf[cnt++] = BPF_ST_MEM(BPF_DW, BPF_REG_FP, -stack_depth,
2796 insn_buf[cnt] = env->prog->insnsi[subprog_start];
2797 ret = bpf_adj_moved_insn(&insn_buf[cnt], cnt);
2805 new_prog = __bpf_patch_insn_data(env, subprog_start, insn_buf, cnt,
2852 struct bpf_insn *insn_buf = env->insn_buf;
2866 insn_buf[cnt++] = BPF_JMP_IMM(BPF_JLE, BPF_REG_1, BPF_MAX_LOOPS, 2);
2867 insn_buf[cnt++] = BPF_MOV32_IMM(BPF_REG_0, -E2BIG);
2868 insn_buf[cnt++] = BPF_JMP_IMM(BPF_JA, 0, 0, 16);
2870 insn_buf[cnt++] = BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_6, r6_offset);
2871 insn_buf[cnt++] = BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_7, r7_offset);
2872 insn_buf[cnt++] = BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_8, r8_offset);
2874 insn_buf[cnt++] = BPF_MOV64_REG(reg_loop_max, BPF_REG_1);
2875 insn_buf[cnt++] = BPF_MOV32_IMM(reg_loop_cnt, 0);
2876 insn_buf[cnt++] = BPF_MOV64_REG(reg_loop_ctx, BPF_REG_3);
2880 insn_buf[cnt++] = BPF_JMP_REG(BPF_JGE, reg_loop_cnt, reg_loop_max, 5);
2884 insn_buf[cnt++] = BPF_MOV64_REG(BPF_REG_1, reg_loop_cnt);
2885 insn_buf[cnt++] = BPF_MOV64_REG(BPF_REG_2, reg_loop_ctx);
2886 insn_buf[cnt++] = BPF_CALL_REL(0);
2888 insn_buf[cnt++] = BPF_ALU64_IMM(BPF_ADD, reg_loop_cnt, 1);
2890 insn_buf[cnt++] = BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, -6);
2894 insn_buf[cnt++] = BPF_MOV64_REG(BPF_REG_0, reg_loop_cnt);
2896 insn_buf[cnt++] = BPF_LDX_MEM(BPF_DW, BPF_REG_6, BPF_REG_10, r6_offset);
2897 insn_buf[cnt++] = BPF_LDX_MEM(BPF_DW, BPF_REG_7, BPF_REG_10, r7_offset);
2898 insn_buf[cnt++] = BPF_LDX_MEM(BPF_DW, BPF_REG_8, BPF_REG_10, r8_offset);
2901 new_prog = bpf_patch_insn_data(env, position, insn_buf, cnt);
2907 /* Note: insn_buf[12] is an offset of BPF_CALL_REL instruction */