Patchwork [3/4] UBUNTU: xen: xen_destroy_contiguous_region only needed in unshared case

login
register
mail settings
Submitter Stefan Bader
Date June 22, 2011, 1:42 p.m.
Message ID <1308750171-12578-3-git-send-email-stefan.bader@canonical.com>
Download mbox | patch
Permalink /patch/101468/
State New
Headers show

Comments

Stefan Bader - June 22, 2011, 1:42 p.m.
The call to create is only done for !SHARED_KERNEL_PMD, so only destroy
in that case (also this is only useful when CONFIG_XEN is set.

BugLink: http://bugs.launchpad.net/bugs/705562

Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
---
 arch/x86/mm/pgtable_32-xen.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

Patch

diff --git a/arch/x86/mm/pgtable_32-xen.c b/arch/x86/mm/pgtable_32-xen.c
index 48242aa..49e28e7 100644
--- a/arch/x86/mm/pgtable_32-xen.c
+++ b/arch/x86/mm/pgtable_32-xen.c
@@ -473,8 +473,12 @@  void pgd_free(pgd_t *pgd)
 			pmd_cache_free(pmd, i);
 		}
 
-		if (!xen_feature(XENFEAT_pae_pgdir_above_4gb))
-			xen_destroy_contiguous_region((unsigned long)pgd, 0);
+#ifdef CONFIG_XEN
+		if (!SHARED_KERNEL_PMD)
+			if (!xen_feature(XENFEAT_pae_pgdir_above_4gb))
+				xen_destroy_contiguous_region(
+					(unsigned long)pgd, 0);
+#endif
 	}
 
 	/* in the non-PAE case, free_pgtables() clears user pgd entries */