[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86, shadow: Fix OOS bug on domain teardown.
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1214570755 -3600 # Node ID e5ae980fe3372dc195cdc7e39c299a4815067ab1 # Parent dedfadeadf868efc89d43f003572896b8ce35326 x86, shadow: Fix OOS bug on domain teardown. Signed-off-by: Gianluca Guida <gianluca.guida@xxxxxxxxxxxxx> --- xen/arch/x86/mm/shadow/common.c | 6 ++++++ 1 files changed, 6 insertions(+) diff -r dedfadeadf86 -r e5ae980fe337 xen/arch/x86/mm/shadow/common.c --- a/xen/arch/x86/mm/shadow/common.c Fri Jun 20 18:42:45 2008 +0100 +++ b/xen/arch/x86/mm/shadow/common.c Fri Jun 27 13:45:55 2008 +0100 @@ -631,6 +631,11 @@ void oos_fixup_remove(struct vcpu *v, mf perfc_incr(shadow_oos_fixup_remove); + /* If the domain is dying we might get called when deallocating + * the shadows. Fixup tables are already freed so exit now. */ + if ( d->is_dying ) + return; + idx = mfn_x(gmfn) % SHADOW_OOS_FT_HASH; for_each_vcpu(d, v) { @@ -3168,6 +3173,7 @@ void shadow_teardown(struct domain *d) { free_xenheap_pages(v->arch.paging.shadow.oos_fixups, SHADOW_OOS_FT_ORDER); + v->arch.paging.shadow.oos_fixups = NULL; } { _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |