diff options
author | Tim Deegan <tim@xen.org> | 2012-04-20 09:49:06 +0100 |
---|---|---|
committer | Tim Deegan <tim@xen.org> | 2012-04-20 09:49:06 +0100 |
commit | abbcefcd9f6588b1bcac41e221083b1b4eb75c4a (patch) | |
tree | ee68d1919de21fdc4796ae93c6897235eb63fdaa | |
parent | f5a7804a189ddeb17409fd382ca92c2712edee5f (diff) | |
download | xen-abbcefcd9f6588b1bcac41e221083b1b4eb75c4a.tar.gz xen-abbcefcd9f6588b1bcac41e221083b1b4eb75c4a.tar.bz2 xen-abbcefcd9f6588b1bcac41e221083b1b4eb75c4a.zip |
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 <tim@xen.org>
Acked-by: Jan Beulich <jbeulich@suse.com>
Committed-by: Tim Deegan <tim@xen.org>
-rw-r--r-- | xen/arch/x86/domain.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index cd56b0edcc..c871e5fb8a 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -2105,13 +2105,14 @@ int domain_relinquish_resources(struct domain *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 |