diff mbox series

[bpf-next,v2,09/10] libbpf: Fix accessing syscall arguments on riscv

Message ID 20220204041955.1958263-10-iii@linux.ibm.com (mailing list archive)
State Superseded
Delegated to: BPF
Headers show
Series libbpf: Fix accessing syscall arguments | expand

Checks

Context Check Description
bpf/vmtest-bpf-next success VM_Test
bpf/vmtest-bpf-next-PR success PR summary
netdev/tree_selection success Clearly marked for bpf-next
netdev/fixes_present success Fixes tag not required for -next series
netdev/subject_prefix success Link
netdev/cover_letter success Series has a cover letter
netdev/patch_count success Link
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/cc_maintainers fail 2 blamed authors not CCed: andrii@kernel.org Kenta.Tada@sony.com; 11 maintainers not CCed: andrii@kernel.org Kenta.Tada@sony.com kpsingh@kernel.org linux-riscv@lists.infradead.org john.fastabend@gmail.com kafai@fb.com songliubraving@fb.com palmer@dabbelt.com aou@eecs.berkeley.edu yhs@fb.com netdev@vger.kernel.org
netdev/build_clang success Errors and warnings before: 0 this patch: 0
netdev/module_param success Was 0 now: 0
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/verify_fixes success Fixes tag looks correct
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 9 lines checked
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0

Commit Message

Ilya Leoshkevich Feb. 4, 2022, 4:19 a.m. UTC
riscv's syscall handlers get "unpacked" arguments instead of a
struct pt_regs pointer. Indicate this to libbpf using PT_REGS_SYSCALL
macro.

Fixes: d084df3b7a4c ("libbpf: Fix the incorrect register read for syscalls on x86_64")
Reported-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
---
 tools/lib/bpf/bpf_tracing.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Andrii Nakryiko Feb. 4, 2022, 5:25 a.m. UTC | #1
On Thu, Feb 3, 2022 at 8:20 PM Ilya Leoshkevich <iii@linux.ibm.com> wrote:
>
> riscv's syscall handlers get "unpacked" arguments instead of a
> struct pt_regs pointer. Indicate this to libbpf using PT_REGS_SYSCALL
> macro.
>
> Fixes: d084df3b7a4c ("libbpf: Fix the incorrect register read for syscalls on x86_64")

This doesn't really fix that commit, it just adds an analogous fix for
a different architecture.

> Reported-by: Heiko Carstens <hca@linux.ibm.com>
> Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
> ---
>  tools/lib/bpf/bpf_tracing.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tools/lib/bpf/bpf_tracing.h b/tools/lib/bpf/bpf_tracing.h
> index c21aaecd711b..2b707aff0763 100644
> --- a/tools/lib/bpf/bpf_tracing.h
> +++ b/tools/lib/bpf/bpf_tracing.h
> @@ -213,7 +213,8 @@
>  #define __PT_FP_REG fp
>  #define __PT_RC_REG a5
>  #define __PT_SP_REG sp
> -#define __PT_IP_REG epc
> +#define __PT_IP_REG pc

Is this epc -> pc change intentional? If yes, please split it into a
separate patch with corresponding Fixes tag and explanation.

> +#define PT_REGS_SYSCALL(ctx) ctx
>
>  #endif
>
> --
> 2.34.1
>
diff mbox series

Patch

diff --git a/tools/lib/bpf/bpf_tracing.h b/tools/lib/bpf/bpf_tracing.h
index c21aaecd711b..2b707aff0763 100644
--- a/tools/lib/bpf/bpf_tracing.h
+++ b/tools/lib/bpf/bpf_tracing.h
@@ -213,7 +213,8 @@ 
 #define __PT_FP_REG fp
 #define __PT_RC_REG a5
 #define __PT_SP_REG sp
-#define __PT_IP_REG epc
+#define __PT_IP_REG pc
+#define PT_REGS_SYSCALL(ctx) ctx
 
 #endif