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