[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] 32on64 vCPU cleanup fix



Since vcpu_destroy_pagetables() clears v->arch.guest_table for hvm vCPUs,
it must be avoided to free the page with MFN zero.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

Index: 2007-04-18/xen/arch/x86/domain.c
===================================================================
--- 2007-04-18.orig/xen/arch/x86/domain.c       2007-04-26 13:52:22.000000000 
+0200
+++ 2007-04-18/xen/arch/x86/domain.c    2007-04-26 13:53:14.000000000 +0200
@@ -252,9 +252,12 @@ static int setup_compat_l4(struct vcpu *
 
 static void release_compat_l4(struct vcpu *v)
 {
-    free_domheap_page(pagetable_get_page(v->arch.guest_table));
-    v->arch.guest_table = pagetable_null();
-    v->arch.guest_table_user = pagetable_null();
+    if ( !pagetable_is_null(v->arch.guest_table) )
+    {
+        free_domheap_page(pagetable_get_page(v->arch.guest_table));
+        v->arch.guest_table = pagetable_null();
+        v->arch.guest_table_user = pagetable_null();
+    }
 }
 
 static inline int may_switch_mode(struct domain *d)




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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.