In cases when VMA flags are modified after VMA was isolated and mmap_lock
was downgraded, flags modifications do not require per-VMA locking and
an attempt to lock the VMA would result in an assertion because mmap
write lock is not held.
Introduce mod_vm_flags_nolock to be used in such situation.
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
vma->vm_flags &= ~flags;
}
+static inline
+void mod_vm_flags_nolock(struct vm_area_struct *vma,
+ unsigned long set, unsigned long clear)
+{
+ vma->vm_flags |= set;
+ vma->vm_flags &= ~clear;
+}
+
static inline
void mod_vm_flags(struct vm_area_struct *vma,
unsigned long set, unsigned long clear)