summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Poimboeuf2019-07-15 18:51:39 +0200
committerGreg Kroah-Hartman2019-08-06 19:06:58 +0200
commit931b6bfe8af1069fd1a494ef6ab14509ffeacdc3 (patch)
tree63c696c6858015be1a7d3d103a3709d50be9bf1d
parentx86/speculation: Enable Spectre v1 swapgs mitigations (diff)
downloadkernel-qcow2-linux-931b6bfe8af1069fd1a494ef6ab14509ffeacdc3.tar.gz
kernel-qcow2-linux-931b6bfe8af1069fd1a494ef6ab14509ffeacdc3.tar.xz
kernel-qcow2-linux-931b6bfe8af1069fd1a494ef6ab14509ffeacdc3.zip
x86/entry/64: Use JMP instead of JMPQ
commit 64dbc122b20f75183d8822618c24f85144a5a94d upstream Somehow the swapgs mitigation entry code patch ended up with a JMPQ instruction instead of JMP, where only the short jump is needed. Some assembler versions apparently fail to optimize JMPQ into a two-byte JMP when possible, instead always using a 7-byte JMP with relocation. For some reason that makes the entry code explode with a #GP during boot. Change it back to "JMP" as originally intended. Fixes: 18ec54fdd6d1 ("x86/speculation: Prepare entry code for Spectre v1 swapgs mitigations") Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--arch/x86/entry/entry_64.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
index 7d8da285e185..ccb5e3486aee 100644
--- a/arch/x86/entry/entry_64.S
+++ b/arch/x86/entry/entry_64.S
@@ -612,7 +612,7 @@ ENTRY(interrupt_entry)
UNWIND_HINT_FUNC
movq (%rdi), %rdi
- jmpq 2f
+ jmp 2f
1:
FENCE_SWAPGS_KERNEL_ENTRY
2: