powerpc: Fix CONFIG_DEBUG_PAGEALLOC on 603/e300

So we tried to speed things up a bit using flush_hash_pages() directly
but that falls over on 603 of course meaning we fail to flush the TLB
properly and we may even end up having it corrupt memory randomly by
accessing a hash table that doesn't exist.

This removes the "optimization" by always going through flush_tlb_page()
for now at least.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
Benjamin Herrenschmidt 2010-04-27 21:22:55 +00:00
parent aef40e87d8
commit 75c1d539ea
1 changed files with 0 additions and 4 deletions

View File

@ -393,11 +393,7 @@ static int __change_page_attr(struct page *page, pgprot_t prot)
return -EINVAL; return -EINVAL;
__set_pte_at(&init_mm, address, kpte, mk_pte(page, prot), 0); __set_pte_at(&init_mm, address, kpte, mk_pte(page, prot), 0);
wmb(); wmb();
#ifdef CONFIG_PPC_STD_MMU
flush_hash_pages(0, address, pmd_val(*kpmd), 1);
#else
flush_tlb_page(NULL, address); flush_tlb_page(NULL, address);
#endif
pte_unmap(kpte); pte_unmap(kpte);
return 0; return 0;