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@gmail.com>
---
include/asm-generic/tlb.h | 17 +++++++++++++----
mm/memory.c | 10 ----------
2 files changed, 13 insertions(+), 14 deletions(-)
I think we only use the notifiers in the KVM code, which appears to leave
the ->invalidate_range() callback empty, so that at least explains why we
haven't run into problems here.
But the change looks correct to me, so:
Acked-by: Will Deacon <redacted>
Thanks,
Will