From: Thomas Gleixner Date: Wed, 30 Jan 2008 12:34:07 +0000 (+0100) Subject: x86: cpa: fix split thinko X-Git-Tag: v2.6.25-rc1~1143^2~43 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a72a08a4b61cb8868606a69b744848552e92062b;p=linux-2.6 x86: cpa: fix split thinko 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 23f0aa3d01..a2ee317548 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c @@ -216,8 +216,12 @@ repeat: prot = static_protections(prot, address); if (level == PG_LEVEL_4K) { + WARN_ON_ONCE(pgprot_val(prot) & _PAGE_PSE); set_pte_atomic(kpte, pfn_pte(pfn, canon_pgprot(prot))); } else { + /* Clear the PSE bit for the 4k level pages ! */ + pgprot_val(prot) = pgprot_val(prot) & ~_PAGE_PSE; + err = split_large_page(kpte, address); if (!err) goto repeat;