Lines Matching refs:insn_idx
325 int insn_idx; member
3977 __u32 insn_idx, const char *sym_name, in bpf_program__record_reloc() argument
3980 struct bpf_insn *insn = &prog->insns[insn_idx]; in bpf_program__record_reloc()
3990 prog->name, sym_name, insn_idx, insn->code); in bpf_program__record_reloc()
4010 prog->name, i, ext->name, ext->sym_idx, insn_idx); in bpf_program__record_reloc()
4015 reloc_desc->insn_idx = insn_idx; in bpf_program__record_reloc()
4039 reloc_desc->insn_idx = insn_idx; in bpf_program__record_reloc()
4062 reloc_desc->insn_idx = insn_idx; in bpf_program__record_reloc()
4085 map->sec_offset, insn_idx); in bpf_program__record_reloc()
4094 reloc_desc->insn_idx = insn_idx; in bpf_program__record_reloc()
4112 map->sec_offset, insn_idx); in bpf_program__record_reloc()
4122 reloc_desc->insn_idx = insn_idx; in bpf_program__record_reloc()
4128 static bool prog_contains_insn(const struct bpf_program *prog, size_t insn_idx) in prog_contains_insn() argument
4130 return insn_idx >= prog->sec_insn_off && in prog_contains_insn()
4131 insn_idx < prog->sec_insn_off + prog->sec_insn_cnt; in prog_contains_insn()
4135 size_t sec_idx, size_t insn_idx) in find_prog_by_sec_insn() argument
4148 (prog->sec_idx == sec_idx && prog->sec_insn_off <= insn_idx)) in find_prog_by_sec_insn()
4157 if (prog->sec_idx == sec_idx && prog_contains_insn(prog, insn_idx)) in find_prog_by_sec_insn()
4171 __u32 insn_idx; in bpf_object__collect_prog_relos() local
4219 insn_idx = rel->r_offset / BPF_INSN_SZ; in bpf_object__collect_prog_relos()
4233 relo_sec_name, i, insn_idx, sym_name); in bpf_object__collect_prog_relos()
4235 prog = find_prog_by_sec_insn(obj, sec_idx, insn_idx); in bpf_object__collect_prog_relos()
4238 relo_sec_name, i, sec_name, insn_idx); in bpf_object__collect_prog_relos()
4249 insn_idx -= prog->sec_insn_off; in bpf_object__collect_prog_relos()
4251 insn_idx, sym_name, sym, rel); in bpf_object__collect_prog_relos()
5589 const struct bpf_core_relo *core_relo, int insn_idx) in record_relo_core() argument
5599 relo->insn_idx = insn_idx; in record_relo_core()
5606 static const struct bpf_core_relo *find_relo_core(struct bpf_program *prog, int insn_idx) in find_relo_core() argument
5613 if (relo->type != RELO_CORE || relo->insn_idx != insn_idx) in find_relo_core()
5677 int i, err = 0, insn_idx, sec_idx, sec_num; in bpf_object__relocate_core() local
5714 insn_idx = rec->insn_off / BPF_INSN_SZ; in bpf_object__relocate_core()
5715 prog = find_prog_by_sec_insn(obj, sec_idx, insn_idx); in bpf_object__relocate_core()
5726 sec_name, i, insn_idx); in bpf_object__relocate_core()
5739 insn_idx = insn_idx - prog->sec_insn_off; in bpf_object__relocate_core()
5740 if (insn_idx >= prog->insns_cnt) in bpf_object__relocate_core()
5742 insn = &prog->insns[insn_idx]; in bpf_object__relocate_core()
5744 err = record_relo_core(prog, rec, insn_idx); in bpf_object__relocate_core()
5761 err = bpf_core_patch_insn(prog->name, insn, insn_idx, rec, i, &targ_res); in bpf_object__relocate_core()
5764 prog->name, i, insn_idx, err); in bpf_object__relocate_core()
5789 int insn_idx, struct bpf_insn *insn, in poison_map_ldimm64() argument
5795 prog->name, relo_idx, insn_idx, map_idx, map->name); in poison_map_ldimm64()
5826 struct bpf_insn *insn = &prog->insns[relo->insn_idx]; in bpf_object__relocate_data()
5840 poison_map_ldimm64(prog, i, relo->insn_idx, insn, in bpf_object__relocate_data()
5854 poison_map_ldimm64(prog, i, relo->insn_idx, insn, in bpf_object__relocate_data()
6057 size_t insn_idx = *(const size_t *)key; in cmp_relo_by_insn_idx() local
6060 if (insn_idx == relo->insn_idx) in cmp_relo_by_insn_idx()
6062 return insn_idx < relo->insn_idx ? -1 : 1; in cmp_relo_by_insn_idx()
6065 static struct reloc_desc *find_prog_insn_relo(const struct bpf_program *prog, size_t insn_idx) in find_prog_insn_relo() argument
6069 return bsearch(&insn_idx, prog->reloc_desc, prog->nr_reloc, in find_prog_insn_relo()
6089 relos[i].insn_idx += subprog->sub_insn_off; in append_subprog_relos()
6102 size_t sub_insn_idx, insn_idx, new_cnt; in bpf_object__reloc_code() local
6112 for (insn_idx = 0; insn_idx < prog->sec_insn_cnt; insn_idx++) { in bpf_object__reloc_code()
6113 insn = &main_prog->insns[prog->sub_insn_off + insn_idx]; in bpf_object__reloc_code()
6117 relo = find_prog_insn_relo(prog, insn_idx); in bpf_object__reloc_code()
6125 prog->name, insn_idx, relo->type); in bpf_object__reloc_code()
6149 prog->name, insn_idx); in bpf_object__reloc_code()
6158 sub_insn_idx = prog->sec_insn_off + insn_idx + insn->imm + 1; in bpf_object__reloc_code()
6209 insn = &main_prog->insns[prog->sub_insn_off + insn_idx]; in bpf_object__reloc_code()
6216 insn->imm = subprog->sub_insn_off - (prog->sub_insn_off + insn_idx) - 1; in bpf_object__reloc_code()
6219 prog->name, insn_idx, insn->imm, subprog->name, subprog->sub_insn_off); in bpf_object__reloc_code()
6349 if (a->insn_idx != b->insn_idx) in cmp_relocs()
6350 return a->insn_idx < b->insn_idx ? -1 : 1; in cmp_relocs()
6401 struct bpf_insn *insn = &prog->insns[relo->insn_idx]; in bpf_object__relocate()
6970 int insn_idx, err, spec_len; in fixup_log_failed_core_relo() local
6972 if (sscanf(line1, "%d: (%*d) call unknown#195896080\n", &insn_idx) != 1) in fixup_log_failed_core_relo()
6975 relo = find_relo_core(prog, insn_idx); in fixup_log_failed_core_relo()
6987 insn_idx, spec_buf, spec_len >= sizeof(spec_buf) ? "..." : ""); in fixup_log_failed_core_relo()
7006 int insn_idx, map_idx; in fixup_log_missing_map_load() local
7009 if (sscanf(line1, "%d: (%*d) call unknown#%d\n", &insn_idx, &map_idx) != 2) in fixup_log_missing_map_load()
7020 insn_idx, map->name); in fixup_log_missing_map_load()
7080 BTF_KIND_VAR, relo->insn_idx); in bpf_program_record_relos()
7085 relo->insn_idx); in bpf_program_record_relos()
7089 .insn_off = relo->insn_idx * 8, in bpf_program_record_relos()
8841 unsigned int moff, insn_idx; in bpf_object__collect_st_ops_relos() local
8892 insn_idx = sym->st_value / BPF_INSN_SZ; in bpf_object__collect_st_ops_relos()
8909 prog = find_prog_by_sec_insn(obj, shdr_idx, insn_idx); in bpf_object__collect_st_ops_relos()