Lines Matching refs:insn_idx

377 	int insn_idx;  member
4494 __u32 insn_idx, const char *sym_name, in bpf_program__record_reloc() argument
4497 struct bpf_insn *insn = &prog->insns[insn_idx]; in bpf_program__record_reloc()
4507 prog->name, sym_name, insn_idx, insn->code); in bpf_program__record_reloc()
4527 prog->name, i, ext->name, ext->sym_idx, insn_idx); in bpf_program__record_reloc()
4532 reloc_desc->insn_idx = insn_idx; in bpf_program__record_reloc()
4556 reloc_desc->insn_idx = insn_idx; in bpf_program__record_reloc()
4579 reloc_desc->insn_idx = insn_idx; in bpf_program__record_reloc()
4590 reloc_desc->insn_idx = insn_idx; in bpf_program__record_reloc()
4611 map->sec_offset, insn_idx); in bpf_program__record_reloc()
4620 reloc_desc->insn_idx = insn_idx; in bpf_program__record_reloc()
4638 map->sec_offset, insn_idx); in bpf_program__record_reloc()
4648 reloc_desc->insn_idx = insn_idx; in bpf_program__record_reloc()
4654 static bool prog_contains_insn(const struct bpf_program *prog, size_t insn_idx) in prog_contains_insn() argument
4656 return insn_idx >= prog->sec_insn_off && in prog_contains_insn()
4657 insn_idx < prog->sec_insn_off + prog->sec_insn_cnt; in prog_contains_insn()
4661 size_t sec_idx, size_t insn_idx) in find_prog_by_sec_insn() argument
4674 (prog->sec_idx == sec_idx && prog->sec_insn_off <= insn_idx)) in find_prog_by_sec_insn()
4683 if (prog->sec_idx == sec_idx && prog_contains_insn(prog, insn_idx)) in find_prog_by_sec_insn()
4697 __u32 insn_idx; in bpf_object__collect_prog_relos() local
4747 insn_idx = rel->r_offset / BPF_INSN_SZ; in bpf_object__collect_prog_relos()
4761 relo_sec_name, i, insn_idx, sym_name); in bpf_object__collect_prog_relos()
4763 prog = find_prog_by_sec_insn(obj, sec_idx, insn_idx); in bpf_object__collect_prog_relos()
4766 relo_sec_name, i, sec_name, insn_idx); in bpf_object__collect_prog_relos()
4777 insn_idx -= prog->sec_insn_off; in bpf_object__collect_prog_relos()
4779 insn_idx, sym_name, sym, rel); in bpf_object__collect_prog_relos()
5839 const struct bpf_core_relo *core_relo, int insn_idx) in record_relo_core() argument
5849 relo->insn_idx = insn_idx; in record_relo_core()
5856 static const struct bpf_core_relo *find_relo_core(struct bpf_program *prog, int insn_idx) in find_relo_core() argument
5863 if (relo->type != RELO_CORE || relo->insn_idx != insn_idx) in find_relo_core()
5927 int i, err = 0, insn_idx, sec_idx, sec_num; in bpf_object__relocate_core() local
5964 insn_idx = rec->insn_off / BPF_INSN_SZ; in bpf_object__relocate_core()
5965 prog = find_prog_by_sec_insn(obj, sec_idx, insn_idx); in bpf_object__relocate_core()
5976 sec_name, i, insn_idx); in bpf_object__relocate_core()
5989 insn_idx = insn_idx - prog->sec_insn_off; in bpf_object__relocate_core()
5990 if (insn_idx >= prog->insns_cnt) in bpf_object__relocate_core()
5992 insn = &prog->insns[insn_idx]; in bpf_object__relocate_core()
5994 err = record_relo_core(prog, rec, insn_idx); in bpf_object__relocate_core()
6011 err = bpf_core_patch_insn(prog->name, insn, insn_idx, rec, i, &targ_res); in bpf_object__relocate_core()
6014 prog->name, i, insn_idx, errstr(err)); in bpf_object__relocate_core()
6039 int insn_idx, struct bpf_insn *insn, in poison_map_ldimm64() argument
6045 prog->name, relo_idx, insn_idx, map_idx, map->name); in poison_map_ldimm64()
6069 int insn_idx, struct bpf_insn *insn, in poison_kfunc_call() argument
6073 prog->name, relo_idx, insn_idx, ext->name); in poison_kfunc_call()
6100 struct bpf_insn *insn = &prog->insns[relo->insn_idx]; in bpf_object__relocate_data()
6114 poison_map_ldimm64(prog, i, relo->insn_idx, insn, in bpf_object__relocate_data()
6128 poison_map_ldimm64(prog, i, relo->insn_idx, insn, in bpf_object__relocate_data()
6161 poison_kfunc_call(prog, i, relo->insn_idx, insn, in bpf_object__relocate_data()
6331 size_t insn_idx = *(const size_t *)key; in cmp_relo_by_insn_idx() local
6334 if (insn_idx == relo->insn_idx) in cmp_relo_by_insn_idx()
6336 return insn_idx < relo->insn_idx ? -1 : 1; in cmp_relo_by_insn_idx()
6339 static struct reloc_desc *find_prog_insn_relo(const struct bpf_program *prog, size_t insn_idx) in find_prog_insn_relo() argument
6343 return bsearch(&insn_idx, prog->reloc_desc, prog->nr_reloc, in find_prog_insn_relo()
6367 relos[i].insn_idx += subprog->sub_insn_off; in append_subprog_relos()
6412 size_t sub_insn_idx, insn_idx; in bpf_object__reloc_code() local
6422 for (insn_idx = 0; insn_idx < prog->sec_insn_cnt; insn_idx++) { in bpf_object__reloc_code()
6423 insn = &main_prog->insns[prog->sub_insn_off + insn_idx]; in bpf_object__reloc_code()
6427 relo = find_prog_insn_relo(prog, insn_idx); in bpf_object__reloc_code()
6435 prog->name, insn_idx, relo->type); in bpf_object__reloc_code()
6459 prog->name, insn_idx); in bpf_object__reloc_code()
6468 sub_insn_idx = prog->sec_insn_off + insn_idx + insn->imm + 1; in bpf_object__reloc_code()
6501 insn = &main_prog->insns[prog->sub_insn_off + insn_idx]; in bpf_object__reloc_code()
6508 insn->imm = subprog->sub_insn_off - (prog->sub_insn_off + insn_idx) - 1; in bpf_object__reloc_code()
6511 prog->name, insn_idx, insn->imm, subprog->name, subprog->sub_insn_off); in bpf_object__reloc_code()
6641 if (a->insn_idx != b->insn_idx) in cmp_relocs()
6642 return a->insn_idx < b->insn_idx ? -1 : 1; in cmp_relocs()
7093 struct bpf_insn *insn = &prog->insns[relo->insn_idx]; in bpf_object__relocate()
7716 int insn_idx, err, spec_len; in fixup_log_failed_core_relo() local
7718 if (sscanf(line1, "%d: (%*d) call unknown#195896080\n", &insn_idx) != 1) in fixup_log_failed_core_relo()
7721 relo = find_relo_core(prog, insn_idx); in fixup_log_failed_core_relo()
7733 insn_idx, spec_buf, spec_len >= sizeof(spec_buf) ? "..." : ""); in fixup_log_failed_core_relo()
7752 int insn_idx, map_idx; in fixup_log_missing_map_load() local
7755 if (sscanf(line1, "%d: (%*d) call unknown#%d\n", &insn_idx, &map_idx) != 2) in fixup_log_missing_map_load()
7766 insn_idx, map->name); in fixup_log_missing_map_load()
7785 int insn_idx, ext_idx; in fixup_log_missing_kfunc_call() local
7788 if (sscanf(line1, "%d: (%*d) call unknown#%d\n", &insn_idx, &ext_idx) != 2) in fixup_log_missing_kfunc_call()
7799 insn_idx, ext->name); in fixup_log_missing_kfunc_call()
7872 true, kind, relo->insn_idx); in bpf_program_record_relos()
7877 relo->insn_idx); in bpf_program_record_relos()
7881 .insn_off = relo->insn_idx * 8, in bpf_program_record_relos()
9854 unsigned int moff, insn_idx; in bpf_object__collect_st_ops_relos() local
9905 insn_idx = sym->st_value / BPF_INSN_SZ; in bpf_object__collect_st_ops_relos()
9923 prog = find_prog_by_sec_insn(obj, shdr_idx, insn_idx); in bpf_object__collect_st_ops_relos()