[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0802052226140.11822@blonde.site>
Date: Tue, 5 Feb 2008 22:27:21 +0000 (GMT)
From: Hugh Dickins <hugh@...itas.com>
To: Andrew Morton <akpm@...ux-foundation.org>
cc: Ingo Molnar <mingo@...e.hu>, Thomas Gleixner <tglx@...utronix.de>,
Andi Kleen <ak@...e.de>, linux-kernel@...r.kernel.org
Subject: [PATCH mm] stop c_p_a corrupting the pds
When change_page_attr splits a large page on x86_32 (without PAE), it is
currently corrupting every process's page directory: fix that by removing
the thinko which passes down a physical instead of a virtual address -
this version of the patch being the hotfix for 2.6.24-mm1.
Signed-off-by: Hugh Dickins <hugh@...itas.com>
--- 2.6.24-mm1/arch/x86/mm/pageattr.c 2008-02-04 12:25:09.000000000 +0000
+++ linux/arch/x86/mm/pageattr.c 2008-02-05 20:52:43.000000000 +0000
@@ -218,8 +218,7 @@ static int split_large_page(pte_t *kpte,
goto out_unlock;
}
- address = __pa(address);
- addr = address & LARGE_PAGE_MASK;
+ addr = __pa(address) & LARGE_PAGE_MASK;
pbase = (pte_t *)page_address(base);
#ifdef CONFIG_X86_32
paravirt_alloc_pt(&init_mm, page_to_pfn(base));
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists