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

Stefan Bader stefan.bader at canonical.com
Wed Jun 22 13:42:50 UTC 2011


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 at canonical.com>
---
 arch/x86/mm/pgtable_32-xen.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

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 */
-- 
1.7.4.1





More information about the kernel-team mailing list