1 --- a/arch/mips/mm/cache.c
2 +++ b/arch/mips/mm/cache.c
3 @@ -38,6 +38,7 @@ void (*__flush_cache_vunmap)(void);
5 void (*__flush_kernel_vmap_range)(unsigned long vaddr, int size);
6 EXPORT_SYMBOL_GPL(__flush_kernel_vmap_range);
7 +EXPORT_SYMBOL(__flush_cache_all);
8 void (*__invalidate_kernel_vmap_range)(unsigned long vaddr, int size);
10 /* MIPS specific cache operations */
14 #include <linux/swap.h>
15 #include <linux/splice.h>
16 #include <linux/aio.h>
18 +#include <asm/cacheflush.h>
21 MODULE_ALIAS_MISCDEV(FUSE_MINOR);
22 MODULE_ALIAS("devname:fuse");
23 @@ -749,6 +752,9 @@ static int fuse_copy_fill(struct fuse_co
24 static int fuse_copy_do(struct fuse_copy_state *cs, void **val, unsigned *size)
26 unsigned ncpy = min(*size, cs->len);
28 + __flush_cache_all();
31 void *pgaddr = kmap_atomic(cs->pg);
32 void *buf = pgaddr + cs->offset;