s390/ftrace: add HAVE_DYNAMIC_FTRACE_WITH_ARGS support
authorHeiko Carstens <hca@linux.ibm.com>
Mon, 4 Oct 2021 14:10:24 +0000 (16:10 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Mon, 11 Oct 2021 18:55:58 +0000 (20:55 +0200)
Add HAVE_DYNAMIC_FTRACE_WITH_ARGS support similar to commit 02a474ca266a
("ftrace/x86: Allow for arguments to be passed in to ftrace_regs by default").

s390's ftrace implementation always provides all registers with
pt_regs, therefore this is trivial.

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/Kconfig
arch/s390/include/asm/ftrace.h

index 8ce2ee8ac88ed29c253854e507008ac7d69de069..03eb3ec08b071659e0214f8f32a0bc2baa745c3b 100644 (file)
@@ -153,6 +153,7 @@ config S390
        select HAVE_DEBUG_KMEMLEAK
        select HAVE_DMA_CONTIGUOUS
        select HAVE_DYNAMIC_FTRACE
+       select HAVE_DYNAMIC_FTRACE_WITH_ARGS
        select HAVE_DYNAMIC_FTRACE_WITH_REGS
        select HAVE_EBPF_JIT if PACK_STACK && HAVE_MARCH_Z196_FEATURES
        select HAVE_EFFICIENT_UNALIGNED_ACCESS
index d1841f4176be036b8728fc28cfa7fc4c1fe797a9..98c066cb347fa47eda1b87a031dbf4c2e3019c2d 100644 (file)
@@ -42,6 +42,15 @@ static inline unsigned long ftrace_call_adjust(unsigned long addr)
        return addr;
 }
 
+struct ftrace_regs {
+       struct pt_regs regs;
+};
+
+static __always_inline struct pt_regs *arch_ftrace_get_regs(struct ftrace_regs *fregs)
+{
+       return &fregs->regs;
+}
+
 /*
  * Even though the system call numbers are identical for s390/s390x a
  * different system call table is used for compat tasks. This may lead