x86: restore vcpu_destroy_pagetables() call on HVM domain teardown. HVM vcpus that are using shadow pagetables have valid guest_table fields, which need to be tidied up on domain teardown. Signed-off-by: Tim Deegan diff -r 29e4f8cefc5a -r e67b344afe8e xen/arch/x86/domain.c --- a/xen/arch/x86/domain.c Thu Apr 19 15:48:30 2012 +0100 +++ b/xen/arch/x86/domain.c Thu Apr 19 18:04:29 2012 +0100 @@ -2105,13 +2105,14 @@ int domain_relinquish_resources(struct d /* Tear down paging-assistance stuff. */ paging_teardown(d); + /* Drop the in-use references to page-table bases. */ + for_each_vcpu ( d, v ) + vcpu_destroy_pagetables(v); + if ( !is_hvm_domain(d) ) { for_each_vcpu ( d, v ) { - /* Drop the in-use references to page-table bases. */ - vcpu_destroy_pagetables(v); - /* * Relinquish GDT mappings. No need for explicit unmapping of * the LDT as it automatically gets squashed with the guest