summaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2005-12-08 16:51:44 +1100
committerPaul Mackerras <paulus@samba.org>2005-12-08 16:57:41 +1100
commit325c82a029ca7ea80f8cb24815d6c9288d177190 (patch)
tree898b1a900bbf2ca0f60d6bf552f2db70d307746b /arch/powerpc
parent6d91bb93e45857259ec80cf7393ea561dba1a1de (diff)
downloadop-kernel-dev-325c82a029ca7ea80f8cb24815d6c9288d177190.zip
op-kernel-dev-325c82a029ca7ea80f8cb24815d6c9288d177190.tar.gz
[PATCH] powerpc: Fix a huge page bug
The 64k pages patch changed the meaning of one argument passed to the low level hash functions (from "large" it became "psize" or page size index), but one of the call sites wasn't properly updated, causing potential random weird problems with huge pages. This fixes it. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/mm/hugetlbpage.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c
index 6bc9dba..8bce515 100644
--- a/arch/powerpc/mm/hugetlbpage.c
+++ b/arch/powerpc/mm/hugetlbpage.c
@@ -703,7 +703,8 @@ int hash_huge_page(struct mm_struct *mm, unsigned long access,
slot = (hash & htab_hash_mask) * HPTES_PER_GROUP;
slot += (old_pte & _PAGE_F_GIX) >> 12;
- if (ppc_md.hpte_updatepp(slot, rflags, va, 1, local) == -1)
+ if (ppc_md.hpte_updatepp(slot, rflags, va, mmu_huge_psize,
+ local) == -1)
old_pte &= ~_PAGE_HPTEFLAGS;
}
OpenPOWER on IntegriCloud