Borislav Petkov 6f7882
From: Peter Zijlstra <peterz@infradead.org>
Borislav Petkov 6f7882
Date: Tue, 26 Oct 2021 14:01:40 +0200
Borislav Petkov 6f7882
Subject: x86/retpoline: Move the retpoline thunk declarations to
Borislav Petkov 6f7882
 nospec-branch.h
Borislav Petkov 6f7882
Git-commit: 6fda8a38865607db739be3e567a2387376222dbd
Borislav Petkov 6f7882
Patch-mainline: v5.16-rc1
Borislav Petkov 6f7882
References: bsc#1190497
Borislav Petkov 6f7882
Borislav Petkov 6f7882
Because it makes no sense to split the retpoline gunk over multiple
Borislav Petkov 6f7882
headers.
Borislav Petkov 6f7882
Borislav Petkov 6f7882
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Borislav Petkov 6f7882
Reviewed-by: Borislav Petkov <bp@suse.de>
Borislav Petkov 6f7882
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
Borislav Petkov 6f7882
Tested-by: Alexei Starovoitov <ast@kernel.org>
Borislav Petkov 6f7882
Link: https://lore.kernel.org/r/20211026120310.106290934@infradead.org
Borislav Petkov 6f7882
Borislav Petkov 6f7882
Acked-by: Borislav Petkov <bp@suse.de>
Borislav Petkov 6f7882
---
Borislav Petkov 6f7882
 arch/x86/include/asm/asm-prototypes.h | 8 --------
Borislav Petkov 6f7882
 arch/x86/include/asm/nospec-branch.h  | 7 +++++++
Borislav Petkov 6f7882
 arch/x86/net/bpf_jit_comp.c           | 1 -
Borislav Petkov 6f7882
 3 files changed, 7 insertions(+), 9 deletions(-)
Borislav Petkov 6f7882
Borislav Petkov 6f7882
diff --git a/arch/x86/include/asm/asm-prototypes.h b/arch/x86/include/asm/asm-prototypes.h
Borislav Petkov 6f7882
index a2bed09d3c11..8f80de627c60 100644
Borislav Petkov 6f7882
--- a/arch/x86/include/asm/asm-prototypes.h
Borislav Petkov 6f7882
+++ b/arch/x86/include/asm/asm-prototypes.h
Borislav Petkov 6f7882
@@ -17,11 +17,3 @@
Borislav Petkov 6f7882
 extern void cmpxchg8b_emu(void);
Borislav Petkov 6f7882
 #endif
Borislav Petkov 6f7882
 
Borislav Petkov 6f7882
-#ifdef CONFIG_RETPOLINE
Borislav Petkov 6f7882
-
Borislav Petkov 6f7882
-#define GEN(reg) \
Borislav Petkov 6f7882
-	extern asmlinkage void __x86_indirect_thunk_ ## reg (void);
Borislav Petkov 6f7882
-#include <asm/GEN-for-each-reg.h>
Borislav Petkov 6f7882
-#undef GEN
Borislav Petkov 6f7882
-
Borislav Petkov 6f7882
-#endif /* CONFIG_RETPOLINE */
Borislav Petkov 6f7882
diff --git a/arch/x86/include/asm/nospec-branch.h b/arch/x86/include/asm/nospec-branch.h
Borislav Petkov 6f7882
index ec2d5c8c6694..14053cd314b9 100644
Borislav Petkov 6f7882
--- a/arch/x86/include/asm/nospec-branch.h
Borislav Petkov 6f7882
+++ b/arch/x86/include/asm/nospec-branch.h
Borislav Petkov 6f7882
@@ -5,6 +5,7 @@
Borislav Petkov 6f7882
 
Borislav Petkov 6f7882
 #include <linux/static_key.h>
Borislav Petkov 6f7882
 #include <linux/objtool.h>
Borislav Petkov 6f7882
+#include <linux/linkage.h>
Borislav Petkov 6f7882
 
Borislav Petkov 6f7882
 #include <asm/alternative.h>
Borislav Petkov 6f7882
 #include <asm/cpufeatures.h>
Borislav Petkov 6f7882
@@ -118,6 +119,12 @@
Borislav Petkov 6f7882
 	".popsection\n\t"
Borislav Petkov 6f7882
 
Borislav Petkov 6f7882
 #ifdef CONFIG_RETPOLINE
Borislav Petkov 6f7882
+
Borislav Petkov 6f7882
+#define GEN(reg) \
Borislav Petkov 6f7882
+	extern asmlinkage void __x86_indirect_thunk_ ## reg (void);
Borislav Petkov 6f7882
+#include <asm/GEN-for-each-reg.h>
Borislav Petkov 6f7882
+#undef GEN
Borislav Petkov 6f7882
+
Borislav Petkov 6f7882
 #ifdef CONFIG_X86_64
Borislav Petkov 6f7882
 
Borislav Petkov 6f7882
 /*
Borislav Petkov 6f7882
diff --git a/arch/x86/net/bpf_jit_comp.c b/arch/x86/net/bpf_jit_comp.c
Borislav Petkov 6f7882
index 9ea57389c554..7c03af65a7de 100644
Borislav Petkov 6f7882
--- a/arch/x86/net/bpf_jit_comp.c
Borislav Petkov 6f7882
+++ b/arch/x86/net/bpf_jit_comp.c
Borislav Petkov 6f7882
@@ -15,7 +15,6 @@
Borislav Petkov 6f7882
 #include <asm/set_memory.h>
Borislav Petkov 6f7882
 #include <asm/nospec-branch.h>
Borislav Petkov 6f7882
 #include <asm/text-patching.h>
Borislav Petkov 6f7882
-#include <asm/asm-prototypes.h>
Borislav Petkov 6f7882
 
Borislav Petkov 6f7882
 static u8 *emit_code(u8 *ptr, u32 bytes, unsigned int len)
Borislav Petkov 6f7882
 {
Borislav Petkov 6f7882