diff options
author | Andrii Nakryiko <andrii@kernel.org> | 2023-10-04 13:18:49 -0700 |
---|---|---|
committer | Andrii Nakryiko <andrii@kernel.org> | 2023-10-04 13:19:47 -0700 |
commit | cbcb199b7cd2af17604fa3241884139bf7286ff1 (patch) | |
tree | 32bbc74ec8ba80830156b2d1c57f43a0662a188f | |
parent | 93fb2776f43e3834796218ed77b237f85fdd10a9 (diff) | |
parent | b55b775f03166b8da60af80ef33da8bf83ca96c1 (diff) |
Merge branch 'libbpf/selftests syscall wrapper fixes for RISC-V'
Björn Töpel says:
====================
From: Björn Töpel <bjorn@rivosinc.com>
Commit 08d0ce30e0e4 ("riscv: Implement syscall wrappers") introduced
some regressions in libbpf, and the kselftests BPF suite, which are
fixed with these three patches.
Note that there's an outstanding fix [1] for ftrace syscall tracing
which is also a fallout from the commit above.
Björn
[1] https://lore.kernel.org/linux-riscv/20231003182407.32198-1-alexghiti@rivosinc.com/
Alexandre Ghiti (1):
libbpf: Fix syscall access arguments on riscv
====================
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
-rw-r--r-- | tools/lib/bpf/bpf_tracing.h | 2 | ||||
-rw-r--r-- | tools/testing/selftests/bpf/progs/bpf_misc.h | 3 | ||||
-rw-r--r-- | tools/testing/selftests/bpf/test_progs.h | 2 |
3 files changed, 5 insertions, 2 deletions
diff --git a/tools/lib/bpf/bpf_tracing.h b/tools/lib/bpf/bpf_tracing.h index 3803479dbe10..1c13f8e88833 100644 --- a/tools/lib/bpf/bpf_tracing.h +++ b/tools/lib/bpf/bpf_tracing.h @@ -362,8 +362,6 @@ struct pt_regs___arm64 { #define __PT_PARM7_REG a6 #define __PT_PARM8_REG a7 -/* riscv does not select ARCH_HAS_SYSCALL_WRAPPER. */ -#define PT_REGS_SYSCALL_REGS(ctx) ctx #define __PT_PARM1_SYSCALL_REG __PT_PARM1_REG #define __PT_PARM2_SYSCALL_REG __PT_PARM2_REG #define __PT_PARM3_SYSCALL_REG __PT_PARM3_REG diff --git a/tools/testing/selftests/bpf/progs/bpf_misc.h b/tools/testing/selftests/bpf/progs/bpf_misc.h index 38a57a2e70db..799fff4995d8 100644 --- a/tools/testing/selftests/bpf/progs/bpf_misc.h +++ b/tools/testing/selftests/bpf/progs/bpf_misc.h @@ -99,6 +99,9 @@ #elif defined(__TARGET_ARCH_arm64) #define SYSCALL_WRAPPER 1 #define SYS_PREFIX "__arm64_" +#elif defined(__TARGET_ARCH_riscv) +#define SYSCALL_WRAPPER 1 +#define SYS_PREFIX "__riscv_" #else #define SYSCALL_WRAPPER 0 #define SYS_PREFIX "__se_" diff --git a/tools/testing/selftests/bpf/test_progs.h b/tools/testing/selftests/bpf/test_progs.h index 77bd492c6024..2f9f6f250f17 100644 --- a/tools/testing/selftests/bpf/test_progs.h +++ b/tools/testing/selftests/bpf/test_progs.h @@ -417,6 +417,8 @@ int get_bpf_max_tramp_links(void); #define SYS_NANOSLEEP_KPROBE_NAME "__s390x_sys_nanosleep" #elif defined(__aarch64__) #define SYS_NANOSLEEP_KPROBE_NAME "__arm64_sys_nanosleep" +#elif defined(__riscv) +#define SYS_NANOSLEEP_KPROBE_NAME "__riscv_sys_nanosleep" #else #define SYS_NANOSLEEP_KPROBE_NAME "sys_nanosleep" #endif |