41 lines
1.4 KiB
Diff
41 lines
1.4 KiB
Diff
From: Josh Poimboeuf <jpoimboe@redhat.com>
|
|
Date: Mon, 15 Jul 2019 11:51:39 -0500
|
|
Subject: x86/entry/64: Use JMP instead of JMPQ
|
|
Origin: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=931b6bfe8af1069fd1a494ef6ab14509ffeacdc3
|
|
Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2019-1125
|
|
|
|
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>
|
|
---
|
|
arch/x86/entry/entry_64.S | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
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:
|
|
--
|
|
2.20.1
|
|
|