]> git.itanic.dy.fi Git - linux-stable/commit
mmu_gather: Force tlb-flush VM_PFNMAP vmas
authorPeter Zijlstra <peterz@infradead.org>
Fri, 8 Jul 2022 07:18:06 +0000 (09:18 +0200)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 21 Jul 2022 17:50:13 +0000 (10:50 -0700)
commitb67fbebd4cf980aecbcc750e1462128bffe8ae15
tree96e359e543dd17dae340b5d87903027228c3ca92
parent18ba064e42df3661e196ab58a23931fc732a420b
mmu_gather: Force tlb-flush VM_PFNMAP vmas

Jann reported a race between munmap() and unmap_mapping_range(), where
unmap_mapping_range() will no-op once unmap_vmas() has unlinked the
VMA; however munmap() will not yet have invalidated the TLBs.

Therefore unmap_mapping_range() will complete while there are still
(stale) TLB entries for the specified range.

Mitigate this by force flushing TLBs for VM_PFNMAP ranges.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/asm-generic/tlb.h