MA_STATE(mas, &mm->mm_mt, 0, 0);
mmap_write_lock(mm);
+ mas_lock(&mas);
mas_for_each(&mas, vma, ULONG_MAX)
mpol_rebind_policy(vma->vm_policy, new);
+ mas_unlock(&mas);
mmap_write_unlock(mm);
}
unsigned long vmend;
MA_STATE(mas, &mm->mm_mt, start, start);
+ rcu_read_lock();
vma = mas_find(&mas, ULONG_MAX);
VM_BUG_ON(!vma);
}
out:
+ rcu_read_unlock();
return err;
}
unsigned long address;
MA_STATE(mas, ¤t->mm->mm_mt, start, start);
+ rcu_read_lock();
mas_for_each(&mas, vma, ULONG_MAX) {
address = page_address_in_vma(page, vma);
if (address != -EFAULT)
break;
}
+ rcu_read_unlock();
if (PageHuge(page)) {
return alloc_huge_page_vma(page_hstate(compound_head(page)),