[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] bad interaction of domain_crash and multicall



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.

If 3.0.3 gets rev'd at some point, I'd like to request inclusion of this
patch as being security relevant.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

Index: 2006-10-30/xen/common/domain.c
===================================================================
--- 2006-10-30.orig/xen/common/domain.c 2006-11-08 12:07:40.000000000 +0100
+++ 2006-10-30/xen/common/domain.c      2006-11-08 12:08:55.000000000 +0100
@@ -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>
@@ -242,6 +243,7 @@ void __domain_crash(struct domain *d)
         printk("Domain %d (vcpu#%d) crashed on cpu#%d:\n",
                d->domain_id, current->vcpu_id, smp_processor_id());
         show_execution_state(guest_cpu_user_regs());
+        this_cpu(mc_state).flags = 0;
     }
     else
     {


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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.