On RV64, as Ilya mentioned before [0], the first syscall parameter should be accessed through orig_a0 (see arch/riscv64/include/asm/syscall.h), otherwise it will cause selftests like bpf_syscall_macro, vmlinux, test_lsm, etc. to fail on RV64. Link: https://lore.kernel.org/bpf/20220209021745.2215452-1-iii@xxxxxxxxxxxxx [0] Pu Lehui (2): libbpf: Fix accessing first syscall argument on RV64 selftests/bpf: Skip case involving first arg in bpf_syscall_macro on RV64 tools/lib/bpf/bpf_tracing.h | 9 ++++++++- .../selftests/bpf/prog_tests/test_bpf_syscall_macro.c | 2 +- tools/testing/selftests/bpf/progs/bpf_syscall_macro.c | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) -- 2.34.1