diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2005-12-08 00:51:44 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-12-08 00:57:41 -0500 |
commit | 325c82a029ca7ea80f8cb24815d6c9288d177190 (patch) | |
tree | 898b1a900bbf2ca0f60d6bf552f2db70d307746b | |
parent | 6d91bb93e45857259ec80cf7393ea561dba1a1de (diff) |
[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>
-rw-r--r-- | arch/powerpc/mm/hugetlbpage.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c index 6bc9dbad7dea..8bce515dc320 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, | |||
703 | slot = (hash & htab_hash_mask) * HPTES_PER_GROUP; | 703 | slot = (hash & htab_hash_mask) * HPTES_PER_GROUP; |
704 | slot += (old_pte & _PAGE_F_GIX) >> 12; | 704 | slot += (old_pte & _PAGE_F_GIX) >> 12; |
705 | 705 | ||
706 | if (ppc_md.hpte_updatepp(slot, rflags, va, 1, local) == -1) | 706 | if (ppc_md.hpte_updatepp(slot, rflags, va, mmu_huge_psize, |
707 | local) == -1) | ||
707 | old_pte &= ~_PAGE_HPTEFLAGS; | 708 | old_pte &= ~_PAGE_HPTEFLAGS; |
708 | } | 709 | } |
709 | 710 | ||