[XEN] 32on64 fix compat page table shutdown
authorEmmanuel Ackaouy <ack@xensource.com>
Tue, 30 Jan 2007 12:33:43 +0000 (12:33 +0000)
committerEmmanuel Ackaouy <ack@xensource.com>
Tue, 30 Jan 2007 12:33:43 +0000 (12:33 +0000)
When releasing the guest page table, do not clobber the xen private
L4 page pointer which is managed by setup/release_compat_l4.

Signed-off-by: Emmanuel Ackaouy <ack@xensource.com>
xen/arch/x86/domain.c

index a99871c72aea75fa3fba827d0bca2ccb739299fd..653ceafb0b2667189b43b4ed14670452df4c5c68 100644 (file)
@@ -1412,7 +1412,13 @@ static void vcpu_destroy_pagetables(struct vcpu *v)
                 put_page_and_type(mfn_to_page(pfn));
         }
 
-        v->arch.guest_table = pagetable_null();
+        if ( is_hvm_vcpu(v) )
+            v->arch.guest_table = pagetable_null();
+        else
+            l4e_write(
+                (l4_pgentry_t *) __va(pagetable_get_paddr(v->arch.guest_table)),
+                l4e_empty());
+
         v->arch.cr3 = 0;
         return;
     }