s390/ftrace: add ftrace_instruction_pointer_set() helper function
authorHeiko Carstens <hca@linux.ibm.com>
Mon, 4 Oct 2021 14:16:45 +0000 (16:16 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Mon, 11 Oct 2021 18:55:58 +0000 (20:55 +0200)
Add ftrace_instruction_pointer_set() helper function to match x86.
See commit 2860cd8a2353 ("livepatch: Use the default ftrace_ops
instead of REGS when ARGS is available").

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

index 98c066c..3baceb4 100644 (file)
@@ -51,6 +51,14 @@ static __always_inline struct pt_regs *arch_ftrace_get_regs(struct ftrace_regs *
        return &fregs->regs;
 }
 
+static __always_inline void ftrace_instruction_pointer_set(struct ftrace_regs *fregs,
+                                                          unsigned long ip)
+{
+       struct pt_regs *regs = arch_ftrace_get_regs(fregs);
+
+       regs->psw.addr = ip;
+}
+
 /*
  * Even though the system call numbers are identical for s390/s390x a
  * different system call table is used for compat tasks. This may lead
index d578a8c..5209f22 100644 (file)
@@ -16,9 +16,7 @@
 
 static inline void klp_arch_set_pc(struct ftrace_regs *fregs, unsigned long ip)
 {
-       struct pt_regs *regs = ftrace_get_regs(fregs);
-
-       regs->psw.addr = ip;
+       ftrace_instruction_pointer_set(fregs, ip);
 }
 
 #endif