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] v3: - Fix test case error. v2: https://lore.kernel.org/all/20240831023646.1558629-1-pulehui@xxxxxxxxxxxxxxx/ - Access first syscall argument with CO-RE direct read. (Andrii) v1: https://lore.kernel.org/all/20240829133453.882259-1-pulehui@xxxxxxxxxxxxxxx/ Pu Lehui (4): libbpf: Access first syscall argument with CO-RE direct read on s390 libbpf: Access first syscall argument with CO-RE direct read on arm64 selftests/bpf: Enable test_bpf_syscall_macro:syscall_arg1 on s390 and arm64 libbpf: Fix accessing first syscall argument on RV64 tools/lib/bpf/bpf_tracing.h | 17 ++++++++++++----- .../bpf/prog_tests/test_bpf_syscall_macro.c | 4 ---- .../selftests/bpf/progs/bpf_syscall_macro.c | 2 -- 3 files changed, 12 insertions(+), 11 deletions(-) -- 2.34.1