Lines Matching refs:flags
41 mm_flags_t flags; /* Must use mm_flags_* helpers to access */ member
45 unsigned long flags; member
444 static __always_inline bool vma_flags_empty(const vma_flags_t *flags) in vma_flags_empty() argument
446 const unsigned long *bitmap = flags->__vma_flags; in vma_flags_empty()
569 vma_flags_t flags; member
751 unsigned long flags; member
799 return test_bit(flag, ACCESS_PRIVATE(&mm->flags, __mm_flags)); in mm_flags_test()
808 static __always_inline void vma_flags_overwrite_word(vma_flags_t *flags, in vma_flags_overwrite_word() argument
811 unsigned long *bitmap = flags->__vma_flags; in vma_flags_overwrite_word()
822 static __always_inline void vma_flags_overwrite_word_once(vma_flags_t *flags, in vma_flags_overwrite_word_once() argument
825 unsigned long *bitmap = flags->__vma_flags; in vma_flags_overwrite_word_once()
831 static __always_inline void vma_flags_set_word(vma_flags_t *flags, in vma_flags_set_word() argument
834 unsigned long *bitmap = flags->__vma_flags; in vma_flags_set_word()
840 static __always_inline void vma_flags_clear_word(vma_flags_t *flags, in vma_flags_clear_word() argument
843 unsigned long *bitmap = flags->__vma_flags; in vma_flags_clear_word()
848 static __always_inline void vma_flags_clear_all(vma_flags_t *flags) in vma_flags_clear_all() argument
850 bitmap_zero(ACCESS_PRIVATE(flags, __vma_flags), NUM_VMA_FLAG_BITS); in vma_flags_clear_all()
860 static __always_inline vm_flags_t vma_flags_to_legacy(vma_flags_t flags) in vma_flags_to_legacy() argument
862 return (vm_flags_t)flags.__vma_flags[0]; in vma_flags_to_legacy()
871 static __always_inline vma_flags_t legacy_to_vma_flags(vm_flags_t flags) in legacy_to_vma_flags() argument
875 vma_flags_overwrite_word(&ret, flags); in legacy_to_vma_flags()
879 static __always_inline void vma_flags_set_flag(vma_flags_t *flags, in vma_flags_set_flag() argument
882 unsigned long *bitmap = ACCESS_PRIVATE(flags, __vma_flags); in vma_flags_set_flag()
889 vm_flags_t flags) in vm_flags_init() argument
891 vma_flags_clear_all(&vma->flags); in vm_flags_init()
892 vma_flags_overwrite_word(&vma->flags, flags); in vm_flags_init()
901 vm_flags_t flags) in vm_flags_reset() argument
904 vm_flags_init(vma, flags); in vm_flags_reset()
908 vma_flags_t *flags) in vma_flags_reset_once() argument
910 const unsigned long word = flags->__vma_flags[0]; in vma_flags_reset_once()
913 vma_flags_overwrite_word_once(&vma->flags, word); in vma_flags_reset_once()
916 unsigned long *dst = &vma->flags.__vma_flags[1]; in vma_flags_reset_once()
917 const unsigned long *src = &flags->__vma_flags[1]; in vma_flags_reset_once()
924 vm_flags_t flags) in vm_flags_set() argument
927 vma_flags_set_word(&vma->flags, flags); in vm_flags_set()
931 vm_flags_t flags) in vm_flags_clear() argument
934 vma_flags_clear_word(&vma->flags, flags); in vm_flags_clear()
937 static __always_inline vma_flags_t __mk_vma_flags(vma_flags_t flags, in __mk_vma_flags() argument
943 vma_flags_set_flag(&flags, bits[i]); in __mk_vma_flags()
944 return flags; in __mk_vma_flags()
950 #define append_vma_flags(flags, ...) __mk_vma_flags(flags, \ argument
953 static __always_inline int vma_flags_count(const vma_flags_t *flags) in vma_flags_count() argument
955 const unsigned long *bitmap = flags->__vma_flags; in vma_flags_count()
960 static __always_inline bool vma_flags_test(const vma_flags_t *flags, in vma_flags_test() argument
963 const unsigned long *bitmap = flags->__vma_flags; in vma_flags_test()
968 static __always_inline vma_flags_t vma_flags_and_mask(const vma_flags_t *flags, in vma_flags_and_mask() argument
973 const unsigned long *bitmap = flags->__vma_flags; in vma_flags_and_mask()
980 #define vma_flags_and(flags, ...) \ argument
981 vma_flags_and_mask(flags, mk_vma_flags(__VA_ARGS__))
983 static __always_inline bool vma_flags_test_any_mask(const vma_flags_t *flags, in vma_flags_test_any_mask() argument
986 const unsigned long *bitmap = flags->__vma_flags; in vma_flags_test_any_mask()
992 #define vma_flags_test_any(flags, ...) \ argument
993 vma_flags_test_any_mask(flags, mk_vma_flags(__VA_ARGS__))
995 static __always_inline bool vma_flags_test_all_mask(const vma_flags_t *flags, in vma_flags_test_all_mask() argument
998 const unsigned long *bitmap = flags->__vma_flags; in vma_flags_test_all_mask()
1004 #define vma_flags_test_all(flags, ...) \ argument
1005 vma_flags_test_all_mask(flags, mk_vma_flags(__VA_ARGS__))
1007 static __always_inline bool vma_flags_test_single_mask(const vma_flags_t *flags, in vma_flags_test_single_mask() argument
1012 return vma_flags_test_any_mask(flags, flagmask); in vma_flags_test_single_mask()
1015 static __always_inline void vma_flags_set_mask(vma_flags_t *flags, vma_flags_t to_set) in vma_flags_set_mask() argument
1017 unsigned long *bitmap = flags->__vma_flags; in vma_flags_set_mask()
1023 #define vma_flags_set(flags, ...) \ argument
1024 vma_flags_set_mask(flags, mk_vma_flags(__VA_ARGS__))
1026 static __always_inline void vma_flags_clear_mask(vma_flags_t *flags, vma_flags_t to_clear) in vma_flags_clear_mask() argument
1028 unsigned long *bitmap = flags->__vma_flags; in vma_flags_clear_mask()
1034 #define vma_flags_clear(flags, ...) \ argument
1035 vma_flags_clear_mask(flags, mk_vma_flags(__VA_ARGS__))
1037 static __always_inline vma_flags_t vma_flags_diff_pair(const vma_flags_t *flags, in vma_flags_diff_pair() argument
1042 const unsigned long *bitmap = flags->__vma_flags; in vma_flags_diff_pair()
1049 static __always_inline bool vma_flags_same_pair(const vma_flags_t *flags, in vma_flags_same_pair() argument
1052 const unsigned long *bitmap = flags->__vma_flags; in vma_flags_same_pair()
1058 static __always_inline bool vma_flags_same_mask(const vma_flags_t *flags, in vma_flags_same_mask() argument
1061 const unsigned long *bitmap = flags->__vma_flags; in vma_flags_same_mask()
1067 #define vma_flags_same(flags, ...) \ argument
1068 vma_flags_same_mask(flags, mk_vma_flags(__VA_ARGS__))
1073 return vma_flags_test(&vma->flags, bit); in vma_test()
1077 vma_flags_t flags) in vma_test_any_mask() argument
1079 return vma_flags_test_any_mask(&vma->flags, flags); in vma_test_any_mask()
1086 vma_flags_t flags) in vma_test_all_mask() argument
1088 return vma_flags_test_all_mask(&vma->flags, flags); in vma_test_all_mask()
1097 return vma_flags_test_single_mask(&vma->flags, flagmask); in vma_test_single_mask()
1101 vma_flags_t flags) in vma_set_flags_mask() argument
1103 vma_flags_set_mask(&vma->flags, flags); in vma_set_flags_mask()
1110 vma_flags_t flags) in vma_clear_flags_mask() argument
1112 vma_flags_clear_mask(&vma->flags, flags); in vma_clear_flags_mask()
1125 vma_flags_t flags) in vma_desc_test_any_mask() argument
1127 return vma_flags_test_any_mask(&desc->vma_flags, flags); in vma_desc_test_any_mask()
1134 vma_flags_t flags) in vma_desc_test_all_mask() argument
1136 return vma_flags_test_all_mask(&desc->vma_flags, flags); in vma_desc_test_all_mask()
1143 vma_flags_t flags) in vma_desc_set_flags_mask() argument
1145 vma_flags_set_mask(&desc->vma_flags, flags); in vma_desc_set_flags_mask()
1152 vma_flags_t flags) in vma_desc_clear_flags_mask() argument
1154 vma_flags_clear_mask(&desc->vma_flags, flags); in vma_desc_clear_flags_mask()
1160 static inline bool is_shared_maywrite(const vma_flags_t *flags) in is_shared_maywrite() argument
1162 return vma_flags_test_all(flags, VMA_SHARED_BIT, VMA_MAYWRITE_BIT); in is_shared_maywrite()
1167 return is_shared_maywrite(&vma->flags); in vma_is_shared_maywrite()
1229 #define is_exec_mapping(flags) \ argument
1230 ((flags & (VM_EXEC | VM_WRITE | VM_STACK)) == VM_EXEC)
1232 #define is_stack_mapping(flags) \ argument
1233 (((flags & VM_STACK) == VM_STACK) || (flags & VM_SHADOW_STACK))
1235 #define is_data_mapping(flags) \ argument
1236 ((flags & (VM_WRITE | VM_SHARED | VM_STACK)) == VM_WRITE)
1238 static inline void vm_stat_account(struct mm_struct *mm, vm_flags_t flags, in vm_stat_account() argument
1243 if (is_exec_mapping(flags)) in vm_stat_account()
1245 else if (is_stack_mapping(flags)) in vm_stat_account()
1247 else if (is_data_mapping(flags)) in vm_stat_account()
1304 desc->vma_flags = vma->flags; in compat_set_desc_from_vma()