Lines Matching refs:mm
21 extern int __execute_only_pkey(struct mm_struct *mm);
22 static inline int execute_only_pkey(struct mm_struct *mm) in execute_only_pkey() argument
27 return __execute_only_pkey(mm); in execute_only_pkey()
46 #define mm_pkey_allocation_map(mm) (mm->context.pkey_allocation_map) argument
47 #define mm_set_pkey_allocated(mm, pkey) do { \ argument
48 mm_pkey_allocation_map(mm) |= (1U << pkey); \
50 #define mm_set_pkey_free(mm, pkey) do { \ argument
51 mm_pkey_allocation_map(mm) &= ~(1U << pkey); \
55 bool mm_pkey_is_allocated(struct mm_struct *mm, int pkey) in mm_pkey_is_allocated() argument
71 if (pkey == mm->context.execute_only_pkey) in mm_pkey_is_allocated()
74 return mm_pkey_allocation_map(mm) & (1U << pkey); in mm_pkey_is_allocated()
81 int mm_pkey_alloc(struct mm_struct *mm) in mm_pkey_alloc() argument
97 if (mm_pkey_allocation_map(mm) == all_pkeys_mask) in mm_pkey_alloc()
100 ret = ffz(mm_pkey_allocation_map(mm)); in mm_pkey_alloc()
102 mm_set_pkey_allocated(mm, ret); in mm_pkey_alloc()
108 int mm_pkey_free(struct mm_struct *mm, int pkey) in mm_pkey_free() argument
110 if (!mm_pkey_is_allocated(mm, pkey)) in mm_pkey_free()
113 mm_set_pkey_free(mm, pkey); in mm_pkey_free()