| /linux/kernel/bpf/ |
| H A D | diagnostics.h | 58 void bpf_diag_register_type(struct bpf_verifier_env *env, u32 insn_idx, int regno, 60 void bpf_diag_invalid_deref(struct bpf_verifier_env *env, u32 insn_idx, int regno, 63 void bpf_diag_unreadable_reg(struct bpf_verifier_env *env, u32 insn_idx, int regno); 64 void bpf_diag_stack_arg_uninit(struct bpf_verifier_env *env, u32 insn_idx, int nargs, 67 void bpf_diag_memory(struct bpf_verifier_env *env, u32 insn_idx, const char *problem, 69 void bpf_diag_mem_bounds(struct bpf_verifier_env *env, u32 insn_idx, int regno, 72 void bpf_diag_res(struct bpf_verifier_env *env, u32 insn_idx, const char *problem, 74 void bpf_diag_lock(struct bpf_verifier_env *env, u32 insn_idx, const char *problem, 77 void bpf_diag_irq(struct bpf_verifier_env *env, u32 insn_idx, const char *problem, 80 void bpf_diag_call_type(struct bpf_verifier_env *env, u32 insn_idx, int argno, int regno, [all …]
|
| H A D | diagnostics.c | 122 u32 insn_idx : 24; member 212 u32 insn_idx; member 608 static void format_disasm_line(struct bpf_verifier_env *env, int insn_idx, in format_disasm_line() argument 619 line->idx = insn_idx; in format_disasm_line() 623 if (insn_idx < 0 || insn_idx >= env->prog->len) in format_disasm_line() 626 if (insn_idx > 0 && bpf_is_ldimm64(&env->prog->insnsi[insn_idx - 1])) in format_disasm_line() 629 insn = &env->prog->insnsi[insn_idx]; in format_disasm_line() 630 if (bpf_is_ldimm64(insn) && insn_idx + 1 >= env->prog->len) in format_disasm_line() 774 static void diag_print_insn_context(struct bpf_verifier_env *env, u32 insn_idx, in diag_print_insn_context() argument 783 format_disasm_line(env, insn_idx + row, &disasm_lines[i]); in diag_print_insn_context() [all …]
|
| H A D | states.c | 12 static bool is_may_goto_insn_at(struct bpf_verifier_env *env, int insn_idx) in is_may_goto_insn_at() argument 14 return bpf_is_may_goto_insn(&env->prog->insnsi[insn_idx]); in is_may_goto_insn_at() 17 static bool is_iter_next_insn(struct bpf_verifier_env *env, int insn_idx) in is_iter_next_insn() argument 19 return env->insn_aux_data[insn_idx].is_iter_next; in is_iter_next_insn() 78 u32 i, scc, insn_idx; in compute_scc_callchain() local 82 insn_idx = bpf_frame_insn_idx(st, i); in compute_scc_callchain() 83 scc = env->insn_aux_data[insn_idx].scc; in compute_scc_callchain() 88 callchain->callsites[i] = insn_idx; in compute_scc_callchain() 236 st->insn_idx); in add_scc_backedge() 943 struct bpf_func_state *cur, u32 insn_idx, enum exact_level exact) in func_states_equal() argument [all …]
|
| H A D | liveness.c | 40 u32 insn_idx; member 149 static int relative_idx(struct func_instance *instance, u32 insn_idx) in relative_idx() argument 151 return insn_idx - instance->subprog_start; in relative_idx() 155 u32 frame, u32 insn_idx) in get_frame_masks() argument 160 return &instance->frames[frame][relative_idx(instance, insn_idx)]; in get_frame_masks() 164 u32 frame, u32 insn_idx) in alloc_frame_masks() argument 175 return get_frame_masks(instance, frame, insn_idx); in alloc_frame_masks() 179 static int mark_stack_read(struct func_instance *instance, u32 frame, u32 insn_idx, spis_t mask) in mark_stack_read() argument 183 masks = alloc_frame_masks(instance, frame, insn_idx); in mark_stack_read() 190 static int mark_stack_write(struct func_instance *instance, u32 frame, u32 insn_idx, spis_t mask) in mark_stack_write() argument [all …]
|
| H A D | verifier.c | 192 int insn_idx; member 207 static int acquire_reference(struct bpf_verifier_env *env, int insn_idx, int parent_id); 672 enum bpf_arg_type arg_type, int insn_idx, in mark_stack_slots_dynptr() argument 724 id = acquire_reference(env, insn_idx, parent_id); in mark_stack_slots_dynptr() 829 env, env->insn_idx, "referenced dynptr overwrite", in destroy_if_dynptr_stack_slot() 935 struct bpf_reg_state *reg, int insn_idx, in mark_stack_slots_iter() argument 945 id = acquire_reference(env, insn_idx, 0); in mark_stack_slots_iter() 1063 static int acquire_irq_state(struct bpf_verifier_env *env, int insn_idx); 1068 struct bpf_reg_state *reg, int insn_idx, in mark_stack_slot_irq_flag() argument 1080 id = acquire_irq_state(env, insn_idx); in mark_stack_slot_irq_flag() [all …]
|
| H A D | backtrack.c | 26 env->insn_idx, env->cur_hist_ent->flags, insn_flags); in bpf_push_jmp_history() 32 env->insn_idx, env->cur_hist_ent->linked_regs); in bpf_push_jmp_history() 45 p->idx = env->insn_idx; in bpf_push_jmp_history() 106 u32 hist_end, int insn_idx) in get_jmp_hist_entry() argument 108 if (hist_end > 0 && st->jmp_history[hist_end - 1].idx == insn_idx) in get_jmp_hist_entry() 807 int last_idx = starting_state->insn_idx; in bpf_mark_chain_precision()
|
| H A D | fixups.c | 303 if (desc->insn_idx <= off) in adjust_poke_descs() 305 desc->insn_idx += len - 1; in adjust_poke_descs() 1162 if (poke->insn_idx < subprog_end && in jit_subprogs() 1163 poke->insn_idx >= subprog_start) in jit_subprogs() 1950 .insn_idx = i + delta, in bpf_do_misc_fixups()
|
| H A D | log.c | 811 verbose(env, "%d:", env->insn_idx); in print_insn_state()
|
| H A D | core.c | 1642 int insn_idx) in bpf_insn_is_indirect_target() argument 1646 insn_idx += prog->aux->subprog_start; in bpf_insn_is_indirect_target() 1647 return env->insn_aux_data[insn_idx].indirect_target; in bpf_insn_is_indirect_target()
|
| /linux/include/linux/ |
| H A D | bpf_verifier.h | 328 int insn_idx; member 499 u32 insn_idx; member 919 u32 insn_idx; member 1117 static inline bool bpf_is_prune_point(struct bpf_verifier_env *env, int insn_idx) in bpf_is_prune_point() argument 1119 return env->insn_aux_data[insn_idx].prune_point; in bpf_is_prune_point() 1127 static inline bool bpf_is_force_checkpoint(struct bpf_verifier_env *env, int insn_idx) in bpf_is_force_checkpoint() argument 1129 return env->insn_aux_data[insn_idx].force_checkpoint; in bpf_is_force_checkpoint() 1137 static inline bool bpf_calls_callback(struct bpf_verifier_env *env, int insn_idx) in bpf_calls_callback() argument 1139 return env->insn_aux_data[insn_idx].calls_callback; in bpf_calls_callback() 1152 static inline bool bpf_is_jump_target(struct bpf_verifier_env *env, int insn_idx) in bpf_is_jump_target() argument [all …]
|
| H A D | bpf.h | 1173 int insn_idx, int prev_insn_idx); 1603 int insn_idx); 1677 u32 insn_idx; member
|
| /linux/tools/lib/bpf/ |
| H A D | relo_core.c | 987 int insn_idx, struct bpf_insn *insn) in bpf_core_poison_insn() argument 990 prog_name, relo_idx, insn_idx); in bpf_core_poison_insn() 1042 int insn_idx, const struct bpf_core_relo *relo, in bpf_core_patch_insn() argument 1056 bpf_core_poison_insn(prog_name, relo_idx, insn_idx + 1, insn + 1); in bpf_core_patch_insn() 1057 bpf_core_poison_insn(prog_name, relo_idx, insn_idx, insn); in bpf_core_patch_insn() 1072 insn_idx, insn->imm, (unsigned long long)orig_val, in bpf_core_patch_insn() 1079 prog_name, relo_idx, insn_idx, in bpf_core_patch_insn() 1087 prog_name, relo_idx, insn_idx, insn->off, (unsigned long long)orig_val, in bpf_core_patch_insn() 1093 prog_name, relo_idx, insn_idx, (unsigned long long)new_val); in bpf_core_patch_insn() 1099 prog_name, relo_idx, insn_idx); in bpf_core_patch_insn() [all …]
|
| H A D | bpf_gen_internal.h | 12 int insn_idx; member 73 bool is_typeless, bool is_ld64, int kind, int insn_idx);
|
| H A D | libbpf.c | 384 int insn_idx; member 4649 __u32 insn_idx, const char *sym_name, in bpf_program__record_reloc() argument 4652 struct bpf_insn *insn = &prog->insns[insn_idx]; in bpf_program__record_reloc() 4662 prog->name, sym_name, insn_idx, insn->code); in bpf_program__record_reloc() 4682 prog->name, i, ext->name, ext->sym_idx, insn_idx); in bpf_program__record_reloc() 4687 reloc_desc->insn_idx = insn_idx; in bpf_program__record_reloc() 4711 reloc_desc->insn_idx = insn_idx; in bpf_program__record_reloc() 4734 reloc_desc->insn_idx = insn_idx; in bpf_program__record_reloc() 4746 prog->name, insn_idx); in bpf_program__record_reloc() 4750 reloc_desc->insn_idx = insn_idx; in bpf_program__record_reloc() [all …]
|
| H A D | relo_core.h | 90 int insn_idx, const struct bpf_core_relo *relo,
|
| H A D | gen_loader.c | 613 bool is_typeless, bool is_ld64, int kind, int insn_idx) in bpf_gen__record_extern() argument 629 relo->insn_idx = insn_idx; in bpf_gen__record_extern() 922 relo->kind, relo->name, relo->insn_idx, relo->is_ld64 ? "ld64" : "call"); in emit_relo() 923 insn = insns + sizeof(struct bpf_insn) * relo->insn_idx; in emit_relo()
|
| /linux/tools/objtool/ |
| H A D | disas.c | 57 int insn_idx; /* index of the next instruction to print */ member 724 dalt->insn_idx = 0; in disas_alt_init() 892 j = dalt->insn_idx; in disas_alt_print_insn() 902 dalt->insn_idx = j; in disas_alt_print_insn() 904 dalt->insn_idx = -1; in disas_alt_print_insn()
|
| /linux/drivers/net/ethernet/netronome/nfp/bpf/ |
| H A D | main.h | 566 int nfp_verify_insn(struct bpf_verifier_env *env, int insn_idx, 587 unsigned int insn_idx);
|
| /linux/arch/powerpc/net/ |
| H A D | bpf_jit.h | 225 struct codegen_context *ctx, int insn_idx,
|
| H A D | bpf_jit_comp.c | 393 struct codegen_context *ctx, int insn_idx, int jmp_off, in bpf_add_extable_entry() argument 415 pc = (unsigned long)&image[insn_idx]; in bpf_add_extable_entry()
|
| /linux/tools/testing/selftests/bpf/ |
| H A D | test_verifier.c | 81 int insn_idx; member 997 prog[fixup_kfunc_btf_id->insn_idx].off = 1; in fixup_prog_kfuncs() 1002 prog[fixup_kfunc_btf_id->insn_idx].imm = btf_id; in fixup_prog_kfuncs()
|
| /linux/tools/testing/selftests/bpf/prog_tests/ |
| H A D | reg_bounds.c | 1268 int insn_idx; in parse_range_cmp_log() 1283 sprintf(buf, "%d: (%s) %s = %s%d", specs[i].insn_idx, 1233 int insn_idx; parse_range_cmp_log() member
|