1 // SPDX-License-Identifier: GPL-2.0 2 3 #include <linux/linkage.h> 4 #include <linux/error-injection.h> 5 #include <linux/kprobes.h> 6 #include <linux/objtool.h> 7 8 asmlinkage void just_return_func(void); 9 10 asm( 11 ".text\n" 12 ".type just_return_func, @function\n" 13 ".globl just_return_func\n" 14 ASM_FUNC_ALIGN 15 "just_return_func:\n" 16 ANNOTATE_NOENDBR 17 ASM_RET 18 ".size just_return_func, .-just_return_func\n" 19 ); 20 21 void override_function_with_return(struct pt_regs *regs) 22 { 23 regs->ip = (unsigned long)&just_return_func; 24 } 25 NOKPROBE_SYMBOL(override_function_with_return); 26