On Sun, Sep 01, 2019 at 11:45:30AM -0700, Guenter Roeck wrote: > On Wed, Aug 28, 2019 at 04:19:54PM +0200, Christoph Hellwig wrote: > > The mm_walk structure currently mixed data and code. Split out the > > operations vectors into a new mm_walk_ops structure, and while we > > are changing the API also declare the mm_walk structure inside the > > walk_page_range and walk_page_vma functions. > > > > Based on patch from Linus Torvalds. > > > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > > Reviewed-by: Thomas Hellstrom <thellstrom@xxxxxxxxxx> > > Reviewed-by: Steven Price <steven.price@xxxxxxx> > > Reviewed-by: Jason Gunthorpe <jgg@xxxxxxxxxxxx> > > When building csky:defconfig: > > In file included from mm/madvise.c:30: > mm/madvise.c: In function 'madvise_free_single_vma': > arch/csky/include/asm/tlb.h:11:11: error: > invalid type argument of '->' (have 'struct mmu_gather') I belive the macros above are missing brackets.. Can you confirm the below takes care of things? I'll add a patch if so diff --git a/arch/csky/include/asm/tlb.h b/arch/csky/include/asm/tlb.h index 8c7cc097666f04..fdff9b8d70c811 100644 --- a/arch/csky/include/asm/tlb.h +++ b/arch/csky/include/asm/tlb.h @@ -8,14 +8,14 @@ #define tlb_start_vma(tlb, vma) \ do { \ - if (!tlb->fullmm) \ - flush_cache_range(vma, vma->vm_start, vma->vm_end); \ + if (!(tlb)->fullmm) \ + flush_cache_range(vma, (vma)->vm_start, (vma)->vm_end); \ } while (0) #define tlb_end_vma(tlb, vma) \ do { \ - if (!tlb->fullmm) \ - flush_tlb_range(vma, vma->vm_start, vma->vm_end); \ + if (!(tlb)->fullmm) \ + flush_tlb_range(vma, (vma)->vm_start, (vma)->vm_end); \ } while (0) #define tlb_flush(tlb) flush_tlb_mm((tlb)->mm) Thanks, Jason