Re: [RFC PATCH 2/2] mm: mmu_notifier fix for tlb_end_vma (build failures)

From: Will Deacon
Date: Fri Aug 24 2018 - 09:10:38 EST


On Fri, Aug 24, 2018 at 06:07:22AM -0700, Guenter Roeck wrote:
> On Thu, Aug 23, 2018 at 06:47:09PM +1000, Nicholas Piggin wrote:
> > The generic tlb_end_vma does not call invalidate_range mmu notifier,
> > and it resets resets the mmu_gather range, which means the notifier
> > won't be called on part of the range in case of an unmap that spans
> > multiple vmas.
> >
> > ARM64 seems to be the only arch I could see that has notifiers and
> > uses the generic tlb_end_vma. I have not actually tested it.
> >
> > Signed-off-by: Nicholas Piggin <npiggin@xxxxxxxxx>
> > Acked-by: Will Deacon <will.deacon@xxxxxxx>
>
> This patch breaks riscv builds in mainline.

Looks very similar to the breakage we hit on arm64. diff below should fix
it.

Will

--->*

diff --git a/arch/riscv/include/asm/tlb.h b/arch/riscv/include/asm/tlb.h
index c229509288ea..5017060be63c 100644
--- a/arch/riscv/include/asm/tlb.h
+++ b/arch/riscv/include/asm/tlb.h
@@ -14,11 +14,11 @@
#ifndef _ASM_RISCV_TLB_H
#define _ASM_RISCV_TLB_H

-#include <asm-generic/tlb.h>
-
static inline void tlb_flush(struct mmu_gather *tlb)
{
flush_tlb_mm(tlb->mm);
}

+#include <asm-generic/tlb.h>
+
#endif /* _ASM_RISCV_TLB_H */