From: Mike Frysinger Date: Wed, 25 May 2011 00:12:53 +0000 (-0700) Subject: asm-generic/cacheflush.h: flush icache when copying to user pages X-Git-Tag: MMI-PSA29.97-13-9~19530 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=f68aa5b445fd00b67588ade611a4efb1a34dadb4;p=GitHub%2FMotorolaMobilityLLC%2Fkernel-slsi.git asm-generic/cacheflush.h: flush icache when copying to user pages The copy_to_user_page() function is supposed to flush the icache on the memory that was written, but the current asm-generic version lacks that logic. While normally it isn't a big deal as the asm-generic version of icache flushing is a stub, it is a deal for ports that want to use the asm-generic version as a baseline and then overlay its own specific parts (like icache flushing). Signed-off-by: Mike Frysinger Cc: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/include/asm-generic/cacheflush.h b/include/asm-generic/cacheflush.h index 57b5c3c82e86..87bc536ccde3 100644 --- a/include/asm-generic/cacheflush.h +++ b/include/asm-generic/cacheflush.h @@ -24,7 +24,10 @@ #define flush_cache_vunmap(start, end) do { } while (0) #define copy_to_user_page(vma, page, vaddr, dst, src, len) \ - memcpy(dst, src, len) + do { \ + memcpy(dst, src, len); \ + flush_icache_user_range(vma, page, vaddr, len); \ + } while (0) #define copy_from_user_page(vma, page, vaddr, dst, src, len) \ memcpy(dst, src, len)