Xen 
 
Home About Xen.org Xen Xen Summit Wiki Mailing List Bug Tracker Xen Downloads
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] x86, shadow: Fix OOS bug on domain teardo

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] x86, shadow: Fix OOS bug on domain teardown.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Sat, 28 Jun 2008 16:00:19 -0700
Delivery-date: Sat, 28 Jun 2008 16:00:44 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# 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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] x86, shadow: Fix OOS bug on domain teardown., Xen patchbot-unstable <=