From 39a5b5a11baa38dab13ea3dc4635095de4668c93 Mon Sep 17 00:00:00 2001 From: David Vrabel Date: Fri, 17 Feb 2012 12:39:10 +0000 Subject: [PATCH] Revert "HACK! call flush_cache_all() after updating translation table entries" This reverts commit 0cd39ddc20a2bbb8ebc4ed48638f30344fd9a808. This workaround didn't work for all cases (userspace still segfaulted) and there is now a better workaround. --- arch/arm/include/asm/cacheflush.h | 5 ----- arch/arm/mm/fault.c | 8 -------- 2 files changed, 13 deletions(-) diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h index 8a326bb56b6..d5d8d5c7268 100644 --- a/arch/arm/include/asm/cacheflush.h +++ b/arch/arm/include/asm/cacheflush.h @@ -336,11 +336,6 @@ static inline void flush_cache_vmap(unsigned long start, unsigned long end) * have a DSB after cleaning the cache line. */ dsb(); - /* - * FIXME: translation table updates not working right unless - * this flush is here. - */ - flush_cache_all(); } static inline void flush_cache_vunmap(unsigned long start, unsigned long end) diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c index f9f9f86191c..aa33949fef6 100644 --- a/arch/arm/mm/fault.c +++ b/arch/arm/mm/fault.c @@ -258,14 +258,6 @@ good_area: * sure we exit gracefully rather than endlessly redo the fault. */ fault = handle_mm_fault(mm, vma, addr & PAGE_MASK, (fsr & FSR_WRITE) ? FAULT_FLAG_WRITE : 0); - - /* - * FIXME: handle_mm_fault() probably updated some translation - * table entries and these are not working right unless this - * flush is here. - */ - flush_cache_all(); - if (unlikely(fault & VM_FAULT_ERROR)) return fault; if (fault & VM_FAULT_MAJOR) -- 2.39.5