]> www.infradead.org Git - users/dwmw2/linux.git/commit
selftests/bpf: print correct offset for pseudo calls in disasm_insn()
authorEduard Zingerman <eddyz87@gmail.com>
Mon, 22 Jul 2024 23:38:39 +0000 (16:38 -0700)
committerAndrii Nakryiko <andrii@kernel.org>
Mon, 29 Jul 2024 22:05:06 +0000 (15:05 -0700)
commit203e6aba7692bca18fd97251b1354da0f5e2ba30
tree56d890eed957cc7aa55c8f1cefb9692a95cb97e3
parent424ebaa3678b0d7f653dffb08eae90424740e0f4
selftests/bpf: print correct offset for pseudo calls in disasm_insn()

Adjust disasm_helpers.c:disasm_insn() to account for the following
part of the verifier.c:jit_subprogs:

  for (i = 0, insn = prog->insnsi; i < prog->len; i++, insn++) {
        /* ... */
        if (!bpf_pseudo_call(insn))
                continue;
        insn->off = env->insn_aux_data[i].call_imm;
        subprog = find_subprog(env, i + insn->off + 1);
        insn->imm = subprog;
  }

Where verifier moves offset of the subprogram to the insn->off field.

Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Link: https://lore.kernel.org/r/20240722233844.1406874-6-eddyz87@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
tools/testing/selftests/bpf/disasm_helpers.c