Mailing List Archive

[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@novell.com>

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@lists.xensource.com
http://lists.xensource.com/xen-devel