On Sun, Sep 01, 2019 at 01:35:16PM -0700, Guenter Roeck wrote:
> > I belive the macros above are missing brackets.. Can you confirm the
> > below takes care of things? I'll add a patch if so
> > 
> 
> Good catch. Yes, that fixes the build problem.

I added this to the hmm tree to fix it:

>From 6a7e550e0f1c1eeab75e0e2c7ffe5e9e9ae649ba Mon Sep 17 00:00:00 2001
From: Jason Gunthorpe <j...@mellanox.com>
Date: Mon, 2 Sep 2019 02:47:05 -0300
Subject: [PATCH] csky: add missing brackets in a macro for tlb.h

As an earlier patch made the macro argument more complicated, compilation
now fails with:

 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')

Link: https://lore.kernel.org/r/20190901193601.gb5...@mellanox.com
Fixes: 923bfc561e75 ("pagewalk: separate function pointers from iterator data")
Reported-by: Guenter Roeck <li...@roeck-us.net>
Signed-off-by: Jason Gunthorpe <j...@mellanox.com>
---
 arch/csky/include/asm/tlb.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

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)
-- 
2.23.0

Reply via email to