Lines Matching defs:insn_idx

350 	int insn_idx;
4434 __u32 insn_idx, const char *sym_name,
4437 struct bpf_insn *insn = &prog->insns[insn_idx];
4447 prog->name, sym_name, insn_idx, insn->code);
4467 prog->name, i, ext->name, ext->sym_idx, insn_idx);
4472 reloc_desc->insn_idx = insn_idx;
4500 reloc_desc->insn_idx = insn_idx;
4523 reloc_desc->insn_idx = insn_idx;
4549 map->sec_offset, insn_idx);
4558 reloc_desc->insn_idx = insn_idx;
4576 map->sec_offset, insn_idx);
4586 reloc_desc->insn_idx = insn_idx;
4592 static bool prog_contains_insn(const struct bpf_program *prog, size_t insn_idx)
4594 return insn_idx >= prog->sec_insn_off &&
4595 insn_idx < prog->sec_insn_off + prog->sec_insn_cnt;
4599 size_t sec_idx, size_t insn_idx)
4612 (prog->sec_idx == sec_idx && prog->sec_insn_off <= insn_idx))
4621 if (prog->sec_idx == sec_idx && prog_contains_insn(prog, insn_idx))
4635 __u32 insn_idx;
4695 insn_idx = rel->r_offset / BPF_INSN_SZ;
4713 relo_sec_name, i, insn_idx, sym_name);
4715 prog = find_prog_by_sec_insn(obj, sec_idx, insn_idx);
4718 relo_sec_name, i, sec_name, insn_idx);
4728 /* adjust insn_idx to local BPF program frame of reference */
4729 insn_idx -= prog->sec_insn_off;
4731 insn_idx, sym_name, sym, rel);
6109 const struct bpf_core_relo *core_relo, int insn_idx)
6119 relo->insn_idx = insn_idx;
6126 static const struct bpf_core_relo *find_relo_core(struct bpf_program *prog, int insn_idx)
6133 if (relo->type != RELO_CORE || relo->insn_idx != insn_idx)
6197 int i, err = 0, insn_idx, sec_idx, sec_num;
6236 insn_idx = rec->insn_off / BPF_INSN_SZ;
6237 prog = find_prog_by_sec_insn(obj, sec_idx, insn_idx);
6248 sec_name, i, insn_idx);
6257 /* adjust insn_idx from section frame of reference to the local
6261 insn_idx = insn_idx - prog->sec_insn_off;
6262 if (insn_idx >= prog->insns_cnt)
6264 insn = &prog->insns[insn_idx];
6266 err = record_relo_core(prog, rec, insn_idx);
6283 err = bpf_core_patch_insn(prog->name, insn, insn_idx, rec, i, &targ_res);
6286 prog->name, i, insn_idx, err);
6311 int insn_idx, struct bpf_insn *insn,
6317 prog->name, relo_idx, insn_idx, map_idx, map->name);
6341 int insn_idx, struct bpf_insn *insn,
6345 prog->name, relo_idx, insn_idx, ext->name);
6372 struct bpf_insn *insn = &prog->insns[relo->insn_idx];
6386 poison_map_ldimm64(prog, i, relo->insn_idx, insn,
6400 poison_map_ldimm64(prog, i, relo->insn_idx, insn,
6433 poison_kfunc_call(prog, i, relo->insn_idx, insn,
6603 size_t insn_idx = *(const size_t *)key;
6606 if (insn_idx == relo->insn_idx)
6608 return insn_idx < relo->insn_idx ? -1 : 1;
6611 static struct reloc_desc *find_prog_insn_relo(const struct bpf_program *prog, size_t insn_idx)
6615 return bsearch(&insn_idx, prog->reloc_desc, prog->nr_reloc,
6639 relos[i].insn_idx += subprog->sub_insn_off;
6640 /* After insn_idx adjustment the 'relos' array is still sorted
6641 * by insn_idx and doesn't break bsearch.
6684 size_t sub_insn_idx, insn_idx;
6694 for (insn_idx = 0; insn_idx < prog->sec_insn_cnt; insn_idx++) {
6695 insn = &main_prog->insns[prog->sub_insn_off + insn_idx];
6699 relo = find_prog_insn_relo(prog, insn_idx);
6707 prog->name, insn_idx, relo->type);
6731 prog->name, insn_idx);
6740 sub_insn_idx = prog->sec_insn_off + insn_idx + insn->imm + 1;
6773 insn = &main_prog->insns[prog->sub_insn_off + insn_idx];
6780 insn->imm = subprog->sub_insn_off - (prog->sub_insn_off + insn_idx) - 1;
6783 prog->name, insn_idx, insn->imm, subprog->name, subprog->sub_insn_off);
6913 if (a->insn_idx != b->insn_idx)
6914 return a->insn_idx < b->insn_idx ? -1 : 1;
6916 /* no two relocations should have the same insn_idx, but ... */
6965 struct bpf_insn *insn = &prog->insns[relo->insn_idx];
7564 int insn_idx, err, spec_len;
7566 if (sscanf(line1, "%d: (%*d) call unknown#195896080\n", &insn_idx) != 1)
7569 relo = find_relo_core(prog, insn_idx);
7581 insn_idx, spec_buf, spec_len >= sizeof(spec_buf) ? "..." : "");
7600 int insn_idx, map_idx;
7603 if (sscanf(line1, "%d: (%*d) call unknown#%d\n", &insn_idx, &map_idx) != 2)
7614 insn_idx, map->name);
7633 int insn_idx, ext_idx;
7636 if (sscanf(line1, "%d: (%*d) call unknown#%d\n", &insn_idx, &ext_idx) != 2)
7647 insn_idx, ext->name);
7720 true, kind, relo->insn_idx);
7725 relo->insn_idx);
7729 .insn_off = relo->insn_idx * 8,
9590 unsigned int moff, insn_idx;
9641 insn_idx = sym->st_value / BPF_INSN_SZ;
9658 prog = find_prog_by_sec_insn(obj, shdr_idx, insn_idx);