diff options
author | Josh Poimboeuf <jpoimboe@redhat.com> | 2019-07-15 11:51:39 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-08-06 19:06:58 +0200 |
commit | 931b6bfe8af1069fd1a494ef6ab14509ffeacdc3 (patch) | |
tree | 63c696c6858015be1a7d3d103a3709d50be9bf1d /arch/x86 | |
parent | 23e7a7b3a75f6dd24c161bf7d1399f251bf5c109 (diff) | |
download | linux-stable-931b6bfe8af1069fd1a494ef6ab14509ffeacdc3.tar.gz linux-stable-931b6bfe8af1069fd1a494ef6ab14509ffeacdc3.tar.bz2 linux-stable-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>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/entry/entry_64.S | 2 |
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: |