[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] If domain_crash_synchronous() is called in the context of a multicall,
# 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |