Jan Beulich
2006-Nov-10 16:58 UTC
[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@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