1540adea3SMasami Hiramatsu // SPDX-License-Identifier: GPL-2.0 2540adea3SMasami Hiramatsu 3b17c2baaSPeter Zijlstra #include <linux/linkage.h> 4540adea3SMasami Hiramatsu #include <linux/error-injection.h> 5540adea3SMasami Hiramatsu #include <linux/kprobes.h> 63e3f0695SPeter Zijlstra #include <linux/objtool.h> 7540adea3SMasami Hiramatsu 8540adea3SMasami Hiramatsu asmlinkage void just_return_func(void); 9540adea3SMasami Hiramatsu 10540adea3SMasami Hiramatsu asm( 11c03e2750SAndi Kleen ".text\n" 12540adea3SMasami Hiramatsu ".type just_return_func, @function\n" 1301684e72SArnd Bergmann ".globl just_return_func\n" 14*1934dc9aSPeter Zijlstra ASM_FUNC_ALIGN 15540adea3SMasami Hiramatsu "just_return_func:\n" 163e3f0695SPeter Zijlstra ANNOTATE_NOENDBR 17b17c2baaSPeter Zijlstra ASM_RET 18540adea3SMasami Hiramatsu ".size just_return_func, .-just_return_func\n" 19540adea3SMasami Hiramatsu ); 20540adea3SMasami Hiramatsu override_function_with_return(struct pt_regs * regs)21540adea3SMasami Hiramatsuvoid override_function_with_return(struct pt_regs *regs) 22540adea3SMasami Hiramatsu { 23540adea3SMasami Hiramatsu regs->ip = (unsigned long)&just_return_func; 24540adea3SMasami Hiramatsu } 25540adea3SMasami Hiramatsu NOKPROBE_SYMBOL(override_function_with_return); 26