WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Xen crash on HVM shutdown [PATCH]

To: Christoph Egger <Christoph.Egger@xxxxxxx>
Subject: Re: [Xen-devel] Xen crash on HVM shutdown [PATCH]
From: Gianluca Guida <gianluca.guida@xxxxxxxxxxxxx>
Date: Thu, 26 Jun 2008 11:32:11 +0100
Cc: Gianluca Guida <gianluca.guida@xxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Delivery-date: Thu, 26 Jun 2008 03:32:44 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <200806251617.02292.Christoph.Egger@xxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <200806251617.02292.Christoph.Egger@xxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hello,

Sorry for the late reply. Sending emails is sometimes more complicated than what you expect.

On Jun 25, 2008, at 3:17 PM, Christoph Egger wrote:


It looks to me, the recent L1 shadow changesets introduced a bug.

Yes. This bug is triggered when the guest shuts down with pages still OOS (e.g., paging still enabled and recently touched L1s pagetables, or supposedly so). I unfortunately could not reproduce it, but the inline patch should fix this.

Thanks!
Gianluca

Signed-off-by: Gianluca Guida <gianluca.guida@xxxxxxxxxxxxx>

diff -r 2be3c309e446 xen/arch/x86/mm/shadow/common.c
--- a/xen/arch/x86/mm/shadow/common.c   Wed Jun 25 13:39:14 2008 -0400
+++ b/xen/arch/x86/mm/shadow/common.c   Wed Jun 25 14:54:34 2008 -0400
@@ -630,6 +630,11 @@
     struct domain *d = v->domain;

     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 @@
         {
             free_xenheap_pages(v->arch.paging.shadow.oos_fixups,
                                SHADOW_OOS_FT_ORDER);
+            v->arch.paging.shadow.oos_fixups = NULL;
         }

         {


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>