aboutsummaryrefslogtreecommitdiffstats
path: root/xen
diff options
context:
space:
mode:
authorGeorge Dunlap <george.dunlap@eu.citrix.com>2012-03-08 09:13:25 +0000
committerGeorge Dunlap <george.dunlap@eu.citrix.com>2012-03-08 09:13:25 +0000
commit68bde1a6e8a5bf3b2106291a172a36db581ba054 (patch)
tree61cfd8fc18772d2975be32af29fa2eb4020a8043 /xen
parent3a866da3e35ec264c963c6a7fd49f67e4d681e44 (diff)
downloadxen-68bde1a6e8a5bf3b2106291a172a36db581ba054.tar.gz
xen-68bde1a6e8a5bf3b2106291a172a36db581ba054.tar.bz2
xen-68bde1a6e8a5bf3b2106291a172a36db581ba054.zip
x86: Make sure log-dirty is turned off before trying to dismantle it
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen')
-rw-r--r--xen/arch/x86/mm/paging.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
index ca879f971f..60d0180e8b 100644
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -722,6 +722,10 @@ int paging_domctl(struct domain *d, xen_domctl_shadow_op_t *sc,
/* Call when destroying a domain */
void paging_teardown(struct domain *d)
{
+ /* Make sure log-dirty is turned off before trying to dismantle it.
+ * Needs to be done here becuse it's covered by the hap/shadow lock */
+ d->arch.paging.log_dirty.disable_log_dirty(d);
+
if ( hap_enabled(d) )
hap_teardown(d);
else