--- x/mm/vma.c +++ y/mm/vma.c @@ -1284,8 +1284,10 @@ static void vms_complete_munmap_vmas(str /* Remove and clean up vmas */ mas_set(mas_detach, 0); - mas_for_each(mas_detach, vma, ULONG_MAX) + mas_for_each(mas_detach, vma, ULONG_MAX) { + vma_start_write(vma); remove_vma(vma); + } vm_unacct_memory(vms->nr_accounted); validate_mm(mm);