|
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 |
|