Commit 0aec21cf authored by Peter Zijlstra's avatar Peter Zijlstra
Browse files
parent 58912710
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -24,20 +24,25 @@ static unsigned long my_ip = (unsigned long)schedule;

#ifdef CONFIG_X86_64

#include <asm/ibt.h>

asm (
"	.pushsection    .text, \"ax\", @progbits\n"
"	.type		my_tramp1, @function\n"
"	.globl		my_tramp1\n"
"   my_tramp1:"
	ASM_ENDBR
"	pushq %rbp\n"
"	movq %rsp, %rbp\n"
"	call my_direct_func1\n"
"	leave\n"
"	.size		my_tramp1, .-my_tramp1\n"
	ASM_RET

"	.type		my_tramp2, @function\n"
"	.globl		my_tramp2\n"
"   my_tramp2:"
	ASM_ENDBR
"	pushq %rbp\n"
"	movq %rsp, %rbp\n"
"	call my_direct_func2\n"
+7 −3
Original line number Diff line number Diff line
@@ -22,11 +22,14 @@ extern void my_tramp2(void *);

#ifdef CONFIG_X86_64

#include <asm/ibt.h>

asm (
"	.pushsection    .text, \"ax\", @progbits\n"
"	.type		my_tramp1, @function\n"
"	.globl		my_tramp1\n"
"   my_tramp1:"
	ASM_ENDBR
"	pushq %rbp\n"
"	movq %rsp, %rbp\n"
"	pushq %rdi\n"
@@ -34,12 +37,13 @@ asm (
"	call my_direct_func1\n"
"	popq %rdi\n"
"	leave\n"
"	ret\n"
	ASM_RET
"	.size		my_tramp1, .-my_tramp1\n"

"	.type		my_tramp2, @function\n"
"\n"
"	.globl		my_tramp2\n"
"   my_tramp2:"
	ASM_ENDBR
"	pushq %rbp\n"
"	movq %rsp, %rbp\n"
"	pushq %rdi\n"
@@ -47,7 +51,7 @@ asm (
"	call my_direct_func2\n"
"	popq %rdi\n"
"	leave\n"
"	ret\n"
	ASM_RET
"	.size		my_tramp2, .-my_tramp2\n"
"	.popsection\n"
);
+4 −1
Original line number Diff line number Diff line
@@ -17,11 +17,14 @@ extern void my_tramp(void *);

#ifdef CONFIG_X86_64

#include <asm/ibt.h>

asm (
"	.pushsection    .text, \"ax\", @progbits\n"
"	.type		my_tramp, @function\n"
"	.globl		my_tramp\n"
"   my_tramp:"
	ASM_ENDBR
"	pushq %rbp\n"
"	movq %rsp, %rbp\n"
"	pushq %rdi\n"
@@ -29,7 +32,7 @@ asm (
"	call my_direct_func\n"
"	popq %rdi\n"
"	leave\n"
"	ret\n"
	ASM_RET
"	.size		my_tramp, .-my_tramp\n"
"	.popsection\n"
);
+3 −0
Original line number Diff line number Diff line
@@ -19,11 +19,14 @@ extern void my_tramp(void *);

#ifdef CONFIG_X86_64

#include <asm/ibt.h>

asm (
"	.pushsection    .text, \"ax\", @progbits\n"
"	.type		my_tramp, @function\n"
"	.globl		my_tramp\n"
"   my_tramp:"
	ASM_ENDBR
"	pushq %rbp\n"
"	movq %rsp, %rbp\n"
"	pushq %rdi\n"
+3 −0
Original line number Diff line number Diff line
@@ -16,11 +16,14 @@ extern void my_tramp(void *);

#ifdef CONFIG_X86_64

#include <asm/ibt.h>

asm (
"	.pushsection    .text, \"ax\", @progbits\n"
"	.type		my_tramp, @function\n"
"	.globl		my_tramp\n"
"   my_tramp:"
	ASM_ENDBR
"	pushq %rbp\n"
"	movq %rsp, %rbp\n"
"	pushq %rdi\n"