aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.9.21/0010-kaiser-fix-regs-to-do_nmi-ifndef-CONFIG_KAISER.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.9.21/0010-kaiser-fix-regs-to-do_nmi-ifndef-CONFIG_KAISER.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.9.21/0010-kaiser-fix-regs-to-do_nmi-ifndef-CONFIG_KAISER.patch74
1 files changed, 0 insertions, 74 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.9.21/0010-kaiser-fix-regs-to-do_nmi-ifndef-CONFIG_KAISER.patch b/common/recipes-kernel/linux/linux-yocto-4.9.21/0010-kaiser-fix-regs-to-do_nmi-ifndef-CONFIG_KAISER.patch
deleted file mode 100644
index 0021537f..00000000
--- a/common/recipes-kernel/linux/linux-yocto-4.9.21/0010-kaiser-fix-regs-to-do_nmi-ifndef-CONFIG_KAISER.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 74fc29fe722da8a939d8fa59e6ba835296c9bc56 Mon Sep 17 00:00:00 2001
-From: Hugh Dickins <hughd@google.com>
-Date: Thu, 21 Sep 2017 20:39:56 -0700
-Subject: [PATCH 010/103] kaiser: fix regs to do_nmi() ifndef CONFIG_KAISER
-
-pjt has observed that nmi's second (nmi_from_kernel) call to do_nmi()
-adjusted the %rdi regs arg, rightly when CONFIG_KAISER, but wrongly
-when not CONFIG_KAISER.
-
-Although the minimal change is to add an #ifdef CONFIG_KAISER around
-the addq line, that looks cluttered, and I prefer how the first call
-to do_nmi() handled it: prepare args in %rdi and %rsi before getting
-into the CONFIG_KAISER block, since it does not touch them at all.
-
-And while we're here, place the "#ifdef CONFIG_KAISER" that follows
-each, to enclose the "Unconditionally restore CR3" comment: matching
-how the "Unconditionally use kernel CR3" comment above is enclosed.
-
-Signed-off-by: Hugh Dickins <hughd@google.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/x86/entry/entry_64.S | 11 ++++++-----
- 1 file changed, 6 insertions(+), 5 deletions(-)
-
-diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
-index d84e3a7..57f7993 100644
---- a/arch/x86/entry/entry_64.S
-+++ b/arch/x86/entry/entry_64.S
-@@ -1321,12 +1321,13 @@ ENTRY(nmi)
- movq %rax, %cr3
- #endif
- call do_nmi
-+
-+#ifdef CONFIG_KAISER
- /*
- * Unconditionally restore CR3. I know we return to
- * kernel code that needs user CR3, but do we ever return
- * to "user mode" where we need the kernel CR3?
- */
--#ifdef CONFIG_KAISER
- popq %rax
- mov %rax, %cr3
- #endif
-@@ -1550,6 +1551,8 @@ end_repeat_nmi:
- SWAPGS
- xorl %ebx, %ebx
- 1:
-+ movq %rsp, %rdi
-+ movq $-1, %rsi
- #ifdef CONFIG_KAISER
- /* Unconditionally use kernel CR3 for do_nmi() */
- /* %rax is saved above, so OK to clobber here */
-@@ -1562,16 +1565,14 @@ end_repeat_nmi:
- #endif
-
- /* paranoidentry do_nmi, 0; without TRACE_IRQS_OFF */
-- movq %rsp, %rdi
-- addq $8, %rdi /* point %rdi at ptregs, fixed up for CR3 */
-- movq $-1, %rsi
- call do_nmi
-+
-+#ifdef CONFIG_KAISER
- /*
- * Unconditionally restore CR3. We might be returning to
- * kernel code that needs user CR3, like just just before
- * a sysret.
- */
--#ifdef CONFIG_KAISER
- popq %rax
- mov %rax, %cr3
- #endif
---
-2.7.4
-