• Home
  • Raw
  • Download

Lines Matching refs:relo

6111 	struct reloc_desc *relos, *relo;  local
6117 relo = &relos[prog->nr_reloc];
6118 relo->type = RELO_CORE;
6119 relo->insn_idx = insn_idx;
6120 relo->core_relo = core_relo;
6128 struct reloc_desc *relo; local
6132 relo = &prog->reloc_desc[i];
6133 if (relo->type != RELO_CORE || relo->insn_idx != insn_idx)
6136 return relo->core_relo;
6143 const struct bpf_core_relo *relo, argument
6154 __u32 local_id = relo->type_id;
6165 if (relo->kind != BPF_CORE_TYPE_ID_LOCAL &&
6181 return bpf_core_calc_relo_insn(prog_name, relo, relo_idx, local_btf, cands, specs_scratch,
6371 struct reloc_desc *relo = &prog->reloc_desc[i]; local
6372 struct bpf_insn *insn = &prog->insns[relo->insn_idx];
6376 switch (relo->type) {
6378 map = &obj->maps[relo->map_idx];
6381 insn[0].imm = relo->map_idx;
6386 poison_map_ldimm64(prog, i, relo->insn_idx, insn,
6387 relo->map_idx, map);
6391 map = &obj->maps[relo->map_idx];
6392 insn[1].imm = insn[0].imm + relo->sym_off;
6395 insn[0].imm = relo->map_idx;
6400 poison_map_ldimm64(prog, i, relo->insn_idx, insn,
6401 relo->map_idx, map);
6405 ext = &obj->externs[relo->ext_idx];
6427 ext = &obj->externs[relo->ext_idx];
6433 poison_kfunc_call(prog, i, relo->insn_idx, insn,
6434 relo->ext_idx, ext);
6453 prog->name, i, relo->type);
6604 const struct reloc_desc *relo = elem; local
6606 if (insn_idx == relo->insn_idx)
6608 return insn_idx < relo->insn_idx ? -1 : 1;
6686 struct reloc_desc *relo; local
6699 relo = find_prog_insn_relo(prog, insn_idx);
6700 if (relo && relo->type == RELO_EXTERN_CALL)
6705 if (relo && relo->type != RELO_CALL && relo->type != RELO_SUBPROG_ADDR) {
6707 prog->name, insn_idx, relo->type);
6710 if (relo) {
6721 if (relo->type == RELO_CALL)
6722 sub_insn_idx = relo->sym_off / BPF_INSN_SZ + insn->imm + 1;
6724 sub_insn_idx = (relo->sym_off + insn->imm) / BPF_INSN_SZ;
6964 struct reloc_desc *relo = &prog->reloc_desc[j]; local
6965 struct bpf_insn *insn = &prog->insns[relo->insn_idx];
6968 if (relo->type == RELO_SUBPROG_ADDR)
7561 const struct bpf_core_relo *relo; local
7569 relo = find_relo_core(prog, insn_idx);
7570 if (!relo)
7573 err = bpf_core_parse_spec(prog->name, prog->obj->btf, relo, &spec);
7708 struct reloc_desc *relo = &prog->reloc_desc[i]; local
7709 struct extern_desc *ext = &obj->externs[relo->ext_idx];
7712 switch (relo->type) {
7720 true, kind, relo->insn_idx);
7725 relo->insn_idx);
7729 .insn_off = relo->insn_idx * 8,
7730 .type_id = relo->core_relo->type_id,
7731 .access_str_off = relo->core_relo->access_str_off,
7732 .kind = relo->core_relo->kind,