aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/mm/hash_utils_64.c
diff options
context:
space:
mode:
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>2015-11-28 12:09:33 -0500
committerMichael Ellerman <mpe@ellerman.id.au>2015-12-13 23:19:04 -0500
commit0863d7f2136550a281f40f4d8556bffd09fd4c2d (patch)
tree33b8588a67d7dbf88bb7ea8a23378c24fc153542 /arch/powerpc/mm/hash_utils_64.c
parentdb1231dcdb4dc6cdcbdef0babe641a9162c0dc98 (diff)
powerpc/mm: Fix infinite loop in hash fault with 4K page size
This is the same bug we fixed as part of 09567e7fd44291bfc08accfdd67ad8f467842332 ("powerpc/mm: Check paca psize is up to date for huge mappings"). Please check that for details. The difference here is that faults were happening on a 4K page at an address previously mapped by hugetlb. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Reviewed-by: Anshuman Khandual <khandual@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/mm/hash_utils_64.c')
-rw-r--r--arch/powerpc/mm/hash_utils_64.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
index 7f9616f7c479..7d4f254a2671 100644
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
@@ -1148,9 +1148,10 @@ int hash_page_mm(struct mm_struct *mm, unsigned long ea,
1148 } 1148 }
1149 } 1149 }
1150 1150
1151#endif /* CONFIG_PPC_64K_PAGES */
1152
1151 if (current->mm == mm) 1153 if (current->mm == mm)
1152 check_paca_psize(ea, mm, psize, user_region); 1154 check_paca_psize(ea, mm, psize, user_region);
1153#endif /* CONFIG_PPC_64K_PAGES */
1154 1155
1155#ifdef CONFIG_PPC_64K_PAGES 1156#ifdef CONFIG_PPC_64K_PAGES
1156 if (psize == MMU_PAGE_64K) 1157 if (psize == MMU_PAGE_64K)