mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
mm/vma: introduce vma_clear_flags[_mask]()
Introduce a helper function and helper macro to easily clear a VMA's flags using the new vma_flags_t vma->flags field: * vma_clear_flags_mask() - Clears all of the flags in a specified mask in the VMA's flags field. * vma_clear_flags() - Clears all of the specified individual VMA flag bits in a VMA's flags field. Also update the VMA tests to reflect the change. Link: https://lkml.kernel.org/r/9bd15da35c2c90e7441265adf01b5c2d3b5c6d41.1774034900.git.ljs@kernel.org Signed-off-by: Lorenzo Stoakes (Oracle) <ljs@kernel.org> Acked-by: Vlastimil Babka (SUSE) <vbabka@kernel.org> Cc: Albert Ou <aou@eecs.berkeley.edu> Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Alexandre Ghiti <alex@ghiti.fr> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com> Cc: "Borislav Petkov (AMD)" <bp@alien8.de> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Chengming Zhou <chengming.zhou@linux.dev> Cc: Christian Borntraeger <borntraeger@linux.ibm.com> Cc: Christian Brauner <brauner@kernel.org> Cc: David Hildenbrand <david@kernel.org> Cc: Dinh Nguyen <dinguyen@kernel.org> Cc: Heiko Carstens <hca@linux.ibm.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Huacai Chen <chenhuacai@kernel.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jan Kara <jack@suse.cz> Cc: Jann Horn <jannh@google.com> Cc: Johannes Berg <johannes@sipsolutions.net> Cc: Kees Cook <kees@kernel.org> Cc: Liam Howlett <liam.howlett@oracle.com> Cc: Madhavan Srinivasan <maddy@linux.ibm.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Michal Hocko <mhocko@suse.com> Cc: Mike Rapoport <rppt@kernel.org> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Ondrej Mosnacek <omosnace@redhat.com> Cc: Palmer Dabbelt <palmer@dabbelt.com> Cc: Paul Moore <paul@paul-moore.com> Cc: Pedro Falcato <pfalcato@suse.de> Cc: Richard Weinberger <richard@nod.at> Cc: Russell King <linux@armlinux.org.uk> Cc: Stephen Smalley <stephen.smalley.work@gmail.com> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Sven Schnelle <svens@linux.ibm.com> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: Vasily Gorbik <gor@linux.ibm.com> Cc: Vineet Gupta <vgupta@kernel.org> Cc: WANG Xuerui <kernel@xen0n.name> Cc: Will Deacon <will@kernel.org> Cc: xu xin <xu.xin16@zte.com.cn> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
7eb19a87d9
commit
d720b81d01
|
|
@ -1363,6 +1363,22 @@ static __always_inline void vma_set_flags_mask(struct vm_area_struct *vma,
|
|||
#define vma_set_flags(vma, ...) \
|
||||
vma_set_flags_mask(vma, mk_vma_flags(__VA_ARGS__))
|
||||
|
||||
/* Helper to clear all VMA flags in a VMA. */
|
||||
static __always_inline void vma_clear_flags_mask(struct vm_area_struct *vma,
|
||||
vma_flags_t flags)
|
||||
{
|
||||
vma_flags_clear_mask(&vma->flags, flags);
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper macro for clearing VMA flags, e.g.:
|
||||
*
|
||||
* vma_clear_flags(vma, VMA_IO_BIT, VMA_PFNMAP_BIT, VMA_DONTEXPAND_BIT,
|
||||
* VMA_DONTDUMP_BIT);
|
||||
*/
|
||||
#define vma_clear_flags(vma, ...) \
|
||||
vma_clear_flags_mask(vma, mk_vma_flags(__VA_ARGS__))
|
||||
|
||||
/*
|
||||
* Test whether a specific VMA flag is set in a VMA descriptor, e.g.:
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1065,6 +1065,15 @@ static __always_inline void vma_set_flags_mask(struct vm_area_struct *vma,
|
|||
#define vma_set_flags(vma, ...) \
|
||||
vma_set_flags_mask(vma, mk_vma_flags(__VA_ARGS__))
|
||||
|
||||
static __always_inline void vma_clear_flags_mask(struct vm_area_struct *vma,
|
||||
vma_flags_t flags)
|
||||
{
|
||||
vma_flags_clear_mask(&vma->flags, flags);
|
||||
}
|
||||
|
||||
#define vma_clear_flags(vma, ...) \
|
||||
vma_clear_flags_mask(vma, mk_vma_flags(__VA_ARGS__))
|
||||
|
||||
static __always_inline bool vma_desc_test(const struct vm_area_desc *desc,
|
||||
vma_flag_t bit)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user