diff options
author | Hugh Dickins <hugh@veritas.com> | 2008-02-05 17:26:01 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-05 17:37:14 -0500 |
commit | 8cb2a7c1e95e472b5ad8cbde4d5c7bb65c532603 (patch) | |
tree | 33d7131e1a39f7a65e852289bebb312938e79e0a | |
parent | 21511abd0a248a3f225d3b611cfabb93124605a7 (diff) |
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.
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | arch/x86/mm/pageattr.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index bb55a78dcd62..16ce841f08d6 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c | |||
@@ -237,7 +237,6 @@ static void __set_pmd_pte(pte_t *kpte, unsigned long address, pte_t pte) | |||
237 | if (!SHARED_KERNEL_PMD) { | 237 | if (!SHARED_KERNEL_PMD) { |
238 | struct page *page; | 238 | struct page *page; |
239 | 239 | ||
240 | address = __pa(address); | ||
241 | list_for_each_entry(page, &pgd_list, lru) { | 240 | list_for_each_entry(page, &pgd_list, lru) { |
242 | pgd_t *pgd; | 241 | pgd_t *pgd; |
243 | pud_t *pud; | 242 | pud_t *pud; |