diff options
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.patch | 74 |
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 - |