diff options
author | Daiane Angolini <daiane.angolini@foundries.io> | 2022-11-08 09:20:25 -0300 |
---|---|---|
committer | Daiane Angolini <daiane.angolini@foundries.io> | 2022-11-08 09:20:25 -0300 |
commit | b115353e00d8f22bb04b0a84b641d0fb18df738f (patch) | |
tree | 8b50c6be40a3fa04a68f781737b2a3d170a4b106 /mm | |
parent | 4151687a6d3d0c6454b08b9cbf7bb34971c4fb67 (diff) | |
parent | 820b689b4a7a6ca1b4fdabf26a17196a2e379a97 (diff) |
Merge tag 'v5.15.69' into 5.15-2.1.x-imx
This is the 5.15.69 stable release
Conflicts:
drivers/soc/fsl/Kconfig
Signed-off-by: Daiane Angolini <daiane.angolini@foundries.io>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/mmap.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/mm/mmap.c b/mm/mmap.c index cd1d2680ac58..5c2c7651ca29 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2638,6 +2638,7 @@ static void unmap_region(struct mm_struct *mm, { struct vm_area_struct *next = vma_next(mm, prev); struct mmu_gather tlb; + struct vm_area_struct *cur_vma; lru_add_drain(); tlb_gather_mmu(&tlb, mm); @@ -2652,8 +2653,12 @@ static void unmap_region(struct mm_struct *mm, * concurrent flush in this region has to be coming through the rmap, * and we synchronize against that using the rmap lock. */ - if ((vma->vm_flags & (VM_PFNMAP|VM_MIXEDMAP)) != 0) - tlb_flush_mmu(&tlb); + for (cur_vma = vma; cur_vma; cur_vma = cur_vma->vm_next) { + if ((cur_vma->vm_flags & (VM_PFNMAP|VM_MIXEDMAP)) != 0) { + tlb_flush_mmu(&tlb); + break; + } + } free_pgtables(&tlb, vma, prev ? prev->vm_end : FIRST_USER_ADDRESS, next ? next->vm_start : USER_PGTABLES_CEILING); |