Lines Matching defs:insn_buf
21090 /* use env->insn_buf as two independent buffers */
21091 struct bpf_insn *zext_patch = env->insn_buf;
21092 struct bpf_insn *rnd_hi32_patch = &env->insn_buf[2];
21199 struct bpf_insn *insn_buf = env->insn_buf;
21217 insn_buf[cnt++] = BPF_STX_MEM(BPF_DW, BPF_REG_FP, BPF_REG_1,
21219 insn_buf[cnt++] = env->prog->insnsi[0];
21220 new_prog = bpf_patch_insn_data(env, 0, insn_buf, cnt);
21237 cnt = ops->gen_prologue(insn_buf, env->seen_direct_write,
21243 new_prog = bpf_patch_insn_data(env, 0, insn_buf, cnt);
21250 ret = add_kfunc_in_insns(env, insn_buf, cnt - 1);
21270 struct bpf_insn *patch = insn_buf;
21274 cnt = patch - insn_buf;
21275 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
21321 insn_buf[0] = BPF_JMP32_A(epilogue_idx - i - delta - 1);
21324 memcpy(insn_buf, epilogue_buf,
21343 struct bpf_insn *patch = insn_buf;
21347 cnt = patch - insn_buf;
21348 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
21441 cnt = convert_ctx_access(type, insn, insn_buf, env->prog,
21458 insn_buf[cnt++] = BPF_ALU32_IMM(BPF_RSH,
21461 insn_buf[cnt++] = BPF_ALU32_IMM(BPF_AND, insn->dst_reg,
21465 insn_buf[cnt++] = BPF_ALU64_IMM(BPF_RSH,
21468 insn_buf[cnt++] = BPF_ALU32_IMM(BPF_AND, insn->dst_reg,
21473 insn_buf[cnt++] = BPF_RAW_INSN(BPF_ALU64 | BPF_MOV | BPF_X,
21478 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
21855 struct bpf_insn *insn_buf,
21861 insn_buf[0] = addr[0];
21862 insn_buf[1] = addr[1];
21863 insn_buf[2] = BPF_MOV64_IMM(node_offset_reg, insn_aux->insert_off);
21864 insn_buf[3] = *insn;
21869 struct bpf_insn *insn_buf, int insn_idx, int *cnt)
21907 insn_buf[0] = BPF_MOV64_IMM(BPF_REG_1, obj_new_size);
21908 insn_buf[1] = addr[0];
21909 insn_buf[2] = addr[1];
21910 insn_buf[3] = *insn;
21931 insn_buf[0] = addr[0];
21932 insn_buf[1] = addr[1];
21933 insn_buf[2] = *insn;
21955 node_offset_reg, insn, insn_buf, cnt);
21958 insn_buf[0] = BPF_MOV64_REG(BPF_REG_0, BPF_REG_1);
21967 insn_buf[idx++] = ld_addrs[0];
21968 insn_buf[idx++] = ld_addrs[1];
21969 insn_buf[idx++] = *insn;
22015 struct bpf_insn *insn_buf = env->insn_buf;
22024 struct bpf_insn *patch = insn_buf;
22029 ret = add_hidden_subprog(env, insn_buf, patch - insn_buf);
22065 struct bpf_insn *patch = insn_buf;
22074 cnt = patch - insn_buf;
22076 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
22095 struct bpf_insn *patch = insn_buf;
22121 cnt = patch - insn_buf;
22143 cnt = patch - insn_buf;
22152 cnt = patch - insn_buf;
22164 cnt = patch - insn_buf;
22167 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
22181 struct bpf_insn *patch = insn_buf;
22196 cnt = patch - insn_buf;
22197 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
22211 cnt = env->ops->gen_ld_abs(insn, insn_buf);
22217 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
22232 struct bpf_insn *patch = insn_buf;
22268 cnt = patch - insn_buf;
22270 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
22298 insn_buf[0] = BPF_LDX_MEM(BPF_DW, BPF_REG_AX, BPF_REG_10, stack_off_cnt);
22300 insn_buf[1] = BPF_JMP_IMM(BPF_JEQ, BPF_REG_AX, 0, insn->off + 5);
22302 insn_buf[1] = BPF_JMP_IMM(BPF_JEQ, BPF_REG_AX, 0, insn->off - 1);
22303 insn_buf[2] = BPF_ALU64_IMM(BPF_SUB, BPF_REG_AX, 1);
22304 insn_buf[3] = BPF_JMP_IMM(BPF_JNE, BPF_REG_AX, 0, 2);
22310 insn_buf[4] = BPF_MOV64_IMM(BPF_REG_AX, stack_off_cnt);
22311 insn_buf[5] = BPF_EMIT_CALL(arch_bpf_timed_may_goto);
22312 insn_buf[6] = BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_AX, stack_off_cnt);
22315 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
22327 insn_buf[0] = BPF_LDX_MEM(BPF_DW, BPF_REG_AX, BPF_REG_10, stack_off);
22329 insn_buf[1] = BPF_JMP_IMM(BPF_JEQ, BPF_REG_AX, 0, insn->off + 2);
22331 insn_buf[1] = BPF_JMP_IMM(BPF_JEQ, BPF_REG_AX, 0, insn->off - 1);
22332 insn_buf[2] = BPF_ALU64_IMM(BPF_SUB, BPF_REG_AX, 1);
22333 insn_buf[3] = BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_AX, stack_off);
22336 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
22351 ret = fixup_kfunc_call(env, insn, insn_buf, i + delta, &cnt);
22357 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
22434 insn_buf[0] = BPF_JMP_IMM(BPF_JGE, BPF_REG_3,
22436 insn_buf[1] = BPF_ALU32_IMM(BPF_AND, BPF_REG_3,
22440 insn_buf[2] = *insn;
22442 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
22470 insn_buf[0] = ld_addrs[0];
22471 insn_buf[1] = ld_addrs[1];
22472 insn_buf[2] = *insn;
22475 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
22488 insn_buf[0] = BPF_MOV64_IMM(BPF_REG_5, (__force __s32)GFP_ATOMIC);
22490 insn_buf[0] = BPF_MOV64_IMM(BPF_REG_5, (__force __s32)GFP_KERNEL);
22491 insn_buf[1] = *insn;
22494 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
22509 insn_buf[0] = BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_1, 0);
22510 insn_buf[1] = *insn;
22513 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
22545 cnt = ops->map_gen_lookup(map_ptr, insn_buf);
22554 insn_buf, cnt);
22630 insn_buf[0] = ld_jiffies_addr[0];
22631 insn_buf[1] = ld_jiffies_addr[1];
22632 insn_buf[2] = BPF_LDX_MEM(BPF_DW, BPF_REG_0,
22636 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf,
22657 insn_buf[0] = BPF_MOV64_IMM(BPF_REG_0, (u32)(unsigned long)&cpu_number);
22658 insn_buf[1] = BPF_MOV64_PERCPU_REG(BPF_REG_0, BPF_REG_0);
22659 insn_buf[2] = BPF_LDX_MEM(BPF_W, BPF_REG_0, BPF_REG_0, 0);
22662 insn_buf[0] = BPF_ALU32_REG(BPF_XOR, BPF_REG_0, BPF_REG_0);
22665 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
22679 insn_buf[0] = BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_1, -8);
22680 insn_buf[1] = BPF_JMP32_REG(BPF_JGE, BPF_REG_2, BPF_REG_0, 6);
22681 insn_buf[2] = BPF_ALU64_IMM(BPF_LSH, BPF_REG_2, 3);
22682 insn_buf[3] = BPF_ALU64_REG(BPF_ADD, BPF_REG_2, BPF_REG_1);
22683 insn_buf[4] = BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_2, 0);
22684 insn_buf[5] = BPF_STX_MEM(BPF_DW, BPF_REG_3, BPF_REG_0, 0);
22685 insn_buf[6] = BPF_MOV64_IMM(BPF_REG_0, 0);
22686 insn_buf[7] = BPF_JMP_A(1);
22687 insn_buf[8] = BPF_MOV64_IMM(BPF_REG_0, -EINVAL);
22690 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
22706 insn_buf[0] = BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_1, -8);
22707 insn_buf[1] = BPF_ALU64_IMM(BPF_LSH, BPF_REG_0, 3);
22708 insn_buf[2] = BPF_ALU64_REG(BPF_ADD, BPF_REG_0, BPF_REG_1);
22709 insn_buf[3] = BPF_LDX_MEM(BPF_DW, BPF_REG_3, BPF_REG_0, 0);
22710 insn_buf[4] = BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_3, 0);
22711 insn_buf[5] = BPF_MOV64_IMM(BPF_REG_0, 0);
22714 insn_buf[0] = BPF_MOV64_IMM(BPF_REG_0, -EOPNOTSUPP);
22718 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
22732 insn_buf[0] = BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_1, -8);
22734 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, 1);
22747 insn_buf[0] = BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_1, -16);
22749 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, 1);
22775 insn_buf[0] = BPF_JMP_IMM(BPF_JNE, BPF_REG_3, 0, 7);
22786 insn_buf[1] = BPF_MOV32_IMM(BPF_REG_0, 0xaaaaaaab);
22787 insn_buf[2] = BPF_ALU64_REG(BPF_MUL, BPF_REG_2, BPF_REG_0);
22788 insn_buf[3] = BPF_ALU64_IMM(BPF_RSH, BPF_REG_2, 36);
22791 insn_buf[4] = BPF_EMIT_CALL(static_call_query(perf_snapshot_branch_stack));
22793 insn_buf[5] = BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 4);
22795 insn_buf[6] = BPF_ALU32_IMM(BPF_MUL, BPF_REG_0, br_entry_size);
22796 insn_buf[7] = BPF_JMP_A(3);
22798 insn_buf[8] = BPF_MOV64_IMM(BPF_REG_0, -EINVAL);
22799 insn_buf[9] = BPF_JMP_A(1);
22801 insn_buf[10] = BPF_MOV64_IMM(BPF_REG_0, -ENOENT);
22804 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
22818 insn_buf[0] = BPF_MOV64_REG(BPF_REG_0, BPF_REG_2);
22819 insn_buf[1] = BPF_ATOMIC_OP(BPF_DW, BPF_XCHG, BPF_REG_1, BPF_REG_0, 0);
22822 new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt);
22879 insn_buf[cnt++] = BPF_ST_MEM(BPF_DW, BPF_REG_FP, -stack_depth,
22881 insn_buf[cnt++] = BPF_ST_MEM(BPF_DW, BPF_REG_FP, -stack_depth + 8, 0);
22884 insn_buf[cnt++] = BPF_ST_MEM(BPF_DW, BPF_REG_FP, -stack_depth,
22888 insn_buf[cnt++] = env->prog->insnsi[subprog_start];
22890 new_prog = bpf_patch_insn_data(env, subprog_start, insn_buf, cnt);
22938 struct bpf_insn *insn_buf = env->insn_buf;
22952 insn_buf[cnt++] = BPF_JMP_IMM(BPF_JLE, BPF_REG_1, BPF_MAX_LOOPS, 2);
22953 insn_buf[cnt++] = BPF_MOV32_IMM(BPF_REG_0, -E2BIG);
22954 insn_buf[cnt++] = BPF_JMP_IMM(BPF_JA, 0, 0, 16);
22956 insn_buf[cnt++] = BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_6, r6_offset);
22957 insn_buf[cnt++] = BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_7, r7_offset);
22958 insn_buf[cnt++] = BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_8, r8_offset);
22960 insn_buf[cnt++] = BPF_MOV64_REG(reg_loop_max, BPF_REG_1);
22961 insn_buf[cnt++] = BPF_MOV32_IMM(reg_loop_cnt, 0);
22962 insn_buf[cnt++] = BPF_MOV64_REG(reg_loop_ctx, BPF_REG_3);
22966 insn_buf[cnt++] = BPF_JMP_REG(BPF_JGE, reg_loop_cnt, reg_loop_max, 5);
22970 insn_buf[cnt++] = BPF_MOV64_REG(BPF_REG_1, reg_loop_cnt);
22971 insn_buf[cnt++] = BPF_MOV64_REG(BPF_REG_2, reg_loop_ctx);
22972 insn_buf[cnt++] = BPF_CALL_REL(0);
22974 insn_buf[cnt++] = BPF_ALU64_IMM(BPF_ADD, reg_loop_cnt, 1);
22976 insn_buf[cnt++] = BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, -6);
22980 insn_buf[cnt++] = BPF_MOV64_REG(BPF_REG_0, reg_loop_cnt);
22982 insn_buf[cnt++] = BPF_LDX_MEM(BPF_DW, BPF_REG_6, BPF_REG_10, r6_offset);
22983 insn_buf[cnt++] = BPF_LDX_MEM(BPF_DW, BPF_REG_7, BPF_REG_10, r7_offset);
22984 insn_buf[cnt++] = BPF_LDX_MEM(BPF_DW, BPF_REG_8, BPF_REG_10, r8_offset);
22987 new_prog = bpf_patch_insn_data(env, position, insn_buf, cnt);
22993 /* Note: insn_buf[12] is an offset of BPF_CALL_REL instruction */