From: Suren Baghdasaryan Date: Tue, 8 Nov 2022 19:15:56 +0000 (+0000) Subject: mm: introduce mod_vm_flags_nolock X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=c249758008406f1715fc9a0c8774f513aacbb456;p=users%2Fjedix%2Flinux-maple.git mm: introduce mod_vm_flags_nolock 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 --- diff --git a/include/linux/mm.h b/include/linux/mm.h index 31abff298fe0..cb2d7f8ae532 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -742,6 +742,14 @@ void clear_vm_flags(struct vm_area_struct *vma, unsigned long flags) 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)