[ARM] Resolve fuse and direct-IO failures due to missing cache flushes
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Sat, 30 Dec 2006 23:17:40 +0000 (23:17 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 8 Jan 2007 19:49:58 +0000 (19:49 +0000)
commit6020dff09252e3670a89edb36baaa4afb9b10d15
treee242232e97e71045f51bda9e0a5bb2e8f8df1c29
parenta6f36be32622730710b2fadacb6e2649defa4371
[ARM] Resolve fuse and direct-IO failures due to missing cache flushes

fuse does not work on ARM due to cache incoherency issues - fuse wants
to use get_user_pages() to copy data from the current process into
kernel space.  However, since this accesses userspace via the kernel
mapping, the kernel mapping can be out of date wrt data written to
userspace.

This can lead to unpredictable behaviour (in the case of fuse) or data
corruption for direct-IO.

This resolves debian bug #402876

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/flush.c
include/asm-arm/cacheflush.h