kernel: fix ip6_tunnel compilation
[openwrt.git] / target / linux / generic / patches-4.4 / 309-mips_fuse_workaround.patch
1 --- a/arch/mips/mm/cache.c
2 +++ b/arch/mips/mm/cache.c
3 @@ -39,6 +39,7 @@ void (*__flush_cache_vunmap)(void);
4  
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);
9  
10  /* MIPS specific cache operations */
11 --- a/fs/fuse/dev.c
12 +++ b/fs/fuse/dev.c
13 @@ -19,6 +19,9 @@
14  #include <linux/pipe_fs_i.h>
15  #include <linux/swap.h>
16  #include <linux/splice.h>
17 +#ifdef CONFIG_MIPS
18 +#include <asm/cacheflush.h>
19 +#endif
20  
21  MODULE_ALIAS_MISCDEV(FUSE_MINOR);
22  MODULE_ALIAS("devname:fuse");
23 @@ -802,6 +805,9 @@ static int fuse_copy_fill(struct fuse_co
24  static int fuse_copy_do(struct fuse_copy_state *cs, void **val, unsigned *size)
25  {
26         unsigned ncpy = min(*size, cs->len);
27 +#ifdef CONFIG_MIPS
28 +       __flush_cache_all();
29 +#endif
30         if (val) {
31                 void *pgaddr = kmap_atomic(cs->pg);
32                 void *buf = pgaddr + cs->offset;