mm: Fix TLB flush for not-first PFNMAP mappings in unmap_region()
authorJann Horn <jannh@google.com>
Thu, 15 Sep 2022 14:25:19 +0000 (16:25 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Sep 2022 09:50:16 +0000 (11:50 +0200)
commit2401f7ad97173006daddebf37bdb372cfd9d6ff1
tree92fd89e7e41e9e8fa2ab99033cea2a764d6393a4
parentd4842b55fdf71909ebd222879a371acc9c840e7a
mm: Fix TLB flush for not-first PFNMAP mappings in unmap_region()

This is a stable-specific patch.
I botched the stable-specific rewrite of
commit b67fbebd4cf98 ("mmu_gather: Force tlb-flush VM_PFNMAP vmas"):
As Hugh pointed out, unmap_region() actually operates on a list of VMAs,
and the variable "vma" merely points to the first VMA in that list.
So if we want to check whether any of the VMAs we're operating on is
PFNMAP or MIXEDMAP, we have to iterate through the list and check each VMA.

Signed-off-by: Jann Horn <jannh@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
mm/mmap.c