Commit cbcb199b authored by Andrii Nakryiko's avatar Andrii Nakryiko

Merge branch 'libbpf/selftests syscall wrapper fixes for RISC-V'

Björn Töpel says:

====================
From: Björn Töpel <bjorn@rivosinc.com>

Commit 08d0ce30 ("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: default avatarAndrii Nakryiko <andrii@kernel.org>
parents 93fb2776 b55b775f
...@@ -362,8 +362,6 @@ struct pt_regs___arm64 { ...@@ -362,8 +362,6 @@ struct pt_regs___arm64 {
#define __PT_PARM7_REG a6 #define __PT_PARM7_REG a6
#define __PT_PARM8_REG a7 #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_PARM1_SYSCALL_REG __PT_PARM1_REG
#define __PT_PARM2_SYSCALL_REG __PT_PARM2_REG #define __PT_PARM2_SYSCALL_REG __PT_PARM2_REG
#define __PT_PARM3_SYSCALL_REG __PT_PARM3_REG #define __PT_PARM3_SYSCALL_REG __PT_PARM3_REG
......
...@@ -99,6 +99,9 @@ ...@@ -99,6 +99,9 @@
#elif defined(__TARGET_ARCH_arm64) #elif defined(__TARGET_ARCH_arm64)
#define SYSCALL_WRAPPER 1 #define SYSCALL_WRAPPER 1
#define SYS_PREFIX "__arm64_" #define SYS_PREFIX "__arm64_"
#elif defined(__TARGET_ARCH_riscv)
#define SYSCALL_WRAPPER 1
#define SYS_PREFIX "__riscv_"
#else #else
#define SYSCALL_WRAPPER 0 #define SYSCALL_WRAPPER 0
#define SYS_PREFIX "__se_" #define SYS_PREFIX "__se_"
......
...@@ -417,6 +417,8 @@ int get_bpf_max_tramp_links(void); ...@@ -417,6 +417,8 @@ int get_bpf_max_tramp_links(void);
#define SYS_NANOSLEEP_KPROBE_NAME "__s390x_sys_nanosleep" #define SYS_NANOSLEEP_KPROBE_NAME "__s390x_sys_nanosleep"
#elif defined(__aarch64__) #elif defined(__aarch64__)
#define SYS_NANOSLEEP_KPROBE_NAME "__arm64_sys_nanosleep" #define SYS_NANOSLEEP_KPROBE_NAME "__arm64_sys_nanosleep"
#elif defined(__riscv)
#define SYS_NANOSLEEP_KPROBE_NAME "__riscv_sys_nanosleep"
#else #else
#define SYS_NANOSLEEP_KPROBE_NAME "sys_nanosleep" #define SYS_NANOSLEEP_KPROBE_NAME "sys_nanosleep"
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment