Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
}
tlb_gather_mmu(&tlb, mm, 0, -1);
if (type == CLEAR_REFS_SOFT_DIRTY) {
+ mas_lock(&mas);
mas_for_each(&mas, vma, ULONG_MAX) {
if (!(vma->vm_flags & VM_SOFTDIRTY))
continue;
mmap_read_unlock(mm);
if (mmap_write_lock_killable(mm)) {
count = -EINTR;
+ mas_unlock(&mas);
goto out_mm;
}
mas_set(&mas, 0);
mmap_write_downgrade(mm);
break;
}
+ mas_unlock(&mas);
mmu_notifier_range_init(&range, MMU_NOTIFY_SOFT_DIRTY,
0, NULL, mm, 0, -1UL);