From: Andi Kleen Date: Wed, 13 Feb 2008 15:20:35 +0000 (+0100) Subject: x86: CPA: fix gbpages support in try_preserve_large_page X-Git-Tag: v2.6.25-rc2~74^2~3 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=5d3c8b21e22712137db6bbd246d1bdcbe0a09914;p=linux-2.6-omap-h63xx.git x86: CPA: fix gbpages support in try_preserve_large_page [ mingo@elte.hu: while gbpages cannot be enabled on mainline currently, keep the code uptodate and this fix is easy enough. ] Use correct page sizes and masks for GB pages in try_preserve_large_page() This prevents a boot hang on a GB capable system with CONFIG_DIRECT_GBPAGES enabled. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner --- diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index 440210a2277..bd61ed13f9c 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c @@ -275,8 +275,8 @@ try_preserve_large_page(pte_t *kpte, unsigned long address, break; #ifdef CONFIG_X86_64 case PG_LEVEL_1G: - psize = PMD_PAGE_SIZE; - pmask = PMD_PAGE_MASK; + psize = PUD_PAGE_SIZE; + pmask = PUD_PAGE_MASK; break; #endif default: