From patchwork Wed Jun 22 13:42:50 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [3/4] UBUNTU: xen: xen_destroy_contiguous_region only needed in unshared case Date: Wed, 22 Jun 2011 03:42:50 -0000 From: Stefan Bader X-Patchwork-Id: 101468 Message-Id: <1308750171-12578-3-git-send-email-stefan.bader@canonical.com> To: kernel-team@lists.ubuntu.com 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 --- 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 */