[3.13.y.z extended stable] Patch "x86/xen: no need to explicitly register an NMI callback" has been added to staging queue

Kamal Mostafa kamal at canonical.com
Tue Aug 12 16:58:03 UTC 2014


This is a note to let you know that I have just added a patch titled

    x86/xen: no need to explicitly register an NMI callback

to the linux-3.13.y-queue branch of the 3.13.y.z extended stable tree 
which can be found at:

 http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.13.y-queue

This patch is scheduled to be released in version 3.13.11.6.

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.13.y.z tree, see
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable

Thanks.
-Kamal

------

>From c73aebb89b7caebec459ba39e66faed71cbec312 Mon Sep 17 00:00:00 2001
From: David Vrabel <david.vrabel at citrix.com>
Date: Mon, 16 Jun 2014 13:07:00 +0200
Subject: x86/xen: no need to explicitly register an NMI callback

commit ea9f9274bf4337ba7cbab241c780487651642d63 upstream.

Remove xen_enable_nmi() to fix a 64-bit guest crash when registering
the NMI callback on Xen 3.1 and earlier.

It's not needed since the NMI callback is set by a set_trap_table
hypercall (in xen_load_idt() or xen_write_idt_entry()).

It's also broken since it only set the current VCPU's callback.

Signed-off-by: David Vrabel <david.vrabel at citrix.com>
Reported-by: Vitaly Kuznetsov <vkuznets at redhat.com>
Tested-by: Vitaly Kuznetsov <vkuznets at redhat.com>
Cc: Stefan Bader <stefan.bader at canonical.com>
Signed-off-by: Kamal Mostafa <kamal at canonical.com>
---
 arch/x86/xen/setup.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 68c054f..846bac1 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -556,13 +556,7 @@ void xen_enable_syscall(void)
 	}
 #endif /* CONFIG_X86_64 */
 }
-void xen_enable_nmi(void)
-{
-#ifdef CONFIG_X86_64
-	if (register_callback(CALLBACKTYPE_nmi, nmi))
-		BUG();
-#endif
-}
+
 void __init xen_arch_setup(void)
 {
 	xen_panic_handler_init();
@@ -580,7 +574,6 @@ void __init xen_arch_setup(void)

 	xen_enable_sysenter();
 	xen_enable_syscall();
-	xen_enable_nmi();
 #ifdef CONFIG_ACPI
 	if (!(xen_start_info->flags & SIF_INITDOMAIN)) {
 		printk(KERN_INFO "ACPI in unprivileged domain disabled\n");
--
1.9.1





More information about the kernel-team mailing list