diff options
Diffstat (limited to 'kernel/bpf/disasm.c')
-rw-r--r-- | kernel/bpf/disasm.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/bpf/disasm.c b/kernel/bpf/disasm.c index e682850c9715..883f88fa5bfc 100644 --- a/kernel/bpf/disasm.c +++ b/kernel/bpf/disasm.c | |||
@@ -189,8 +189,12 @@ void print_bpf_insn(bpf_insn_print_cb verbose, struct bpf_verifier_env *env, | |||
189 | u8 opcode = BPF_OP(insn->code); | 189 | u8 opcode = BPF_OP(insn->code); |
190 | 190 | ||
191 | if (opcode == BPF_CALL) { | 191 | if (opcode == BPF_CALL) { |
192 | verbose(env, "(%02x) call %s#%d\n", insn->code, | 192 | if (insn->src_reg == BPF_PSEUDO_CALL) |
193 | func_id_name(insn->imm), insn->imm); | 193 | verbose(env, "(%02x) call pc%+d\n", insn->code, |
194 | insn->imm); | ||
195 | else | ||
196 | verbose(env, "(%02x) call %s#%d\n", insn->code, | ||
197 | func_id_name(insn->imm), insn->imm); | ||
194 | } else if (insn->code == (BPF_JMP | BPF_JA)) { | 198 | } else if (insn->code == (BPF_JMP | BPF_JA)) { |
195 | verbose(env, "(%02x) goto pc%+d\n", | 199 | verbose(env, "(%02x) goto pc%+d\n", |
196 | insn->code, insn->off); | 200 | insn->code, insn->off); |