Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

libbpf: Fix register in PT_REGS MIPS macros

The o32, n32 and n64 calling conventions require the return
value to be stored in $v0 which maps to $2 register, i.e.,
the register 2.

Fixes: c1932cd ("bpf: Add MIPS support to samples/bpf.")
Signed-off-by: Jerry Crunchtime <jerry.c.t@web.de>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Link: https://lore.kernel.org/bpf/43707d31-0210-e8f0-9226-1af140907641@web.de

authored by

Jerry Crunchtime and committed by
Daniel Borkmann
1acf8f90 c64c9c28

+2 -2
+2 -2
tools/lib/bpf/bpf_tracing.h
··· 215 215 #define PT_REGS_PARM5(x) ((x)->regs[8]) 216 216 #define PT_REGS_RET(x) ((x)->regs[31]) 217 217 #define PT_REGS_FP(x) ((x)->regs[30]) /* Works only with CONFIG_FRAME_POINTER */ 218 - #define PT_REGS_RC(x) ((x)->regs[1]) 218 + #define PT_REGS_RC(x) ((x)->regs[2]) 219 219 #define PT_REGS_SP(x) ((x)->regs[29]) 220 220 #define PT_REGS_IP(x) ((x)->cp0_epc) 221 221 ··· 226 226 #define PT_REGS_PARM5_CORE(x) BPF_CORE_READ((x), regs[8]) 227 227 #define PT_REGS_RET_CORE(x) BPF_CORE_READ((x), regs[31]) 228 228 #define PT_REGS_FP_CORE(x) BPF_CORE_READ((x), regs[30]) 229 - #define PT_REGS_RC_CORE(x) BPF_CORE_READ((x), regs[1]) 229 + #define PT_REGS_RC_CORE(x) BPF_CORE_READ((x), regs[2]) 230 230 #define PT_REGS_SP_CORE(x) BPF_CORE_READ((x), regs[29]) 231 231 #define PT_REGS_IP_CORE(x) BPF_CORE_READ((x), cp0_epc) 232 232