select HAVE_EFFICIENT_UNALIGNED_ACCESS
        select HAVE_FENTRY
        select HAVE_FTRACE_MCOUNT_RECORD
+       select HAVE_FUNCTION_ERROR_INJECTION
        select HAVE_FUNCTION_GRAPH_TRACER
        select HAVE_FUNCTION_TRACER
        select HAVE_FUTEX_CMPXCHG if FUTEX
 
 })
 
 #define __S390_SYS_STUBx(x, name, ...)                                 \
-       asmlinkage long __s390_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))\
+       asmlinkage long __s390_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__));\
        ALLOW_ERROR_INJECTION(__s390_sys##name, ERRNO);                 \
        asmlinkage long __s390_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))\
        {                                                               \
 #define COMPAT_SYSCALL_DEFINE0(sname)                                  \
        SYSCALL_METADATA(_##sname, 0);                                  \
        asmlinkage long __s390_compat_sys_##sname(void);                \
-       ALLOW_ERROR_INJECTION(__s390_compat__sys_##sname, ERRNO);       \
+       ALLOW_ERROR_INJECTION(__s390_compat_sys_##sname, ERRNO);        \
        asmlinkage long __s390_compat_sys_##sname(void)
 
 #define SYSCALL_DEFINE0(sname)                                         \
        asmlinkage long __s390_compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));        \
        asmlinkage long __s390_compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
                __attribute__((alias(__stringify(__se_compat_sys##name))));     \
-       ALLOW_ERROR_INJECTION(compat_sys##name, ERRNO);                         \
+       ALLOW_ERROR_INJECTION(__s390_compat_sys##name, ERRNO);                  \
        static inline long __do_compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\
        asmlinkage long __se_compat_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__));  \
        asmlinkage long __se_compat_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))   \
 
--- /dev/null
+// SPDX-License-Identifier: GPL-2.0+
+#include <asm/ptrace.h>
+#include <linux/error-injection.h>
+#include <linux/kprobes.h>
+
+void override_function_with_return(struct pt_regs *regs)
+{
+       /*
+        * Emulate 'br 14'. 'regs' is captured by kprobes on entry to some
+        * kernel function.
+        */
+       regs->psw.addr = regs->gprs[14];
+}
+NOKPROBE_SYMBOL(override_function_with_return);