diff options
Diffstat (limited to 'arch/x86/kernel/static_call.c')
| -rw-r--r-- | arch/x86/kernel/static_call.c | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/arch/x86/kernel/static_call.c b/arch/x86/kernel/static_call.c index 9c407a33a774..531fb4cbb63f 100644 --- a/arch/x86/kernel/static_call.c +++ b/arch/x86/kernel/static_call.c @@ -17,6 +17,8 @@ enum insn_type {   */  static const u8 xor5rax[] = { 0x66, 0x66, 0x48, 0x31, 0xc0 }; +static const u8 retinsn[] = { RET_INSN_OPCODE, 0xcc, 0xcc, 0xcc, 0xcc }; +  static void __ref __static_call_transform(void *insn, enum insn_type type, void *func)  {  	const void *emulate = NULL; @@ -42,8 +44,7 @@ static void __ref __static_call_transform(void *insn, enum insn_type type, void  		break;  	case RET: -		code = text_gen_insn(RET_INSN_OPCODE, insn, func); -		size = RET_INSN_SIZE; +		code = &retinsn;  		break;  	} |