WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] If domain_crash_synchronous() is called i

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] If domain_crash_synchronous() is called in the context of a multicall,
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 10 Nov 2006 22:40:13 +0000
Delivery-date: Fri, 10 Nov 2006 14:40:05 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Node ID b7ffbec0e307f38e8d2322169cccbec699f12d2f
# Parent  f6b7ae6ed5041bfe1168a1070bbcc1e94b89036d
If domain_crash_synchronous() is called in the context of a multicall,
the (physical) CPU this was executing on did not get its multicall
state cleared and would reject any further multicalls, likely leading
to crashing dom0 at some point.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
 xen/common/domain.c |    5 +++++
 1 files changed, 5 insertions(+)

diff -r f6b7ae6ed504 -r b7ffbec0e307 xen/common/domain.c
--- a/xen/common/domain.c       Fri Nov 10 17:35:09 2006 +0000
+++ b/xen/common/domain.c       Fri Nov 10 17:47:15 2006 +0000
@@ -22,6 +22,7 @@
 #include <xen/delay.h>
 #include <xen/shutdown.h>
 #include <xen/percpu.h>
+#include <xen/multicall.h>
 #include <asm/debugger.h>
 #include <public/sched.h>
 #include <public/vcpu.h>
@@ -256,6 +257,10 @@ void __domain_crash_synchronous(void)
 void __domain_crash_synchronous(void)
 {
     __domain_crash(current->domain);
+
+    /* Flush multicall state before dying. */
+    this_cpu(mc_state).flags = 0;
+
     for ( ; ; )
         do_softirq();
 }

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] If domain_crash_synchronous() is called in the context of a multicall,, Xen patchbot-unstable <=