Lines Matching defs:mm

6 #include <linux/mm.h>
11 static inline bool mm_is_user(struct mm_struct *mm)
19 if (unlikely(mm_is_efi(mm)))
21 return mm != &init_mm;
29 static void contpte_try_unfold_partial(struct mm_struct *mm, unsigned long addr,
38 contpte_try_unfold(mm, addr, ptep, __ptep_get(ptep));
44 contpte_try_unfold(mm, last_addr, last_ptep,
49 static void contpte_convert(struct mm_struct *mm, unsigned long addr,
52 struct vm_area_struct vma = TLB_FLUSH_VMA(mm, 0);
62 pte_t ptent = __ptep_get_and_clear(mm, addr, ptep);
73 __set_ptes(mm, start_addr, start_ptep, pte, CONT_PTES);
76 void __contpte_try_fold(struct mm_struct *mm, unsigned long addr,
108 if (!mm_is_user(mm))
136 contpte_convert(mm, addr, orig_ptep, pte);
140 void __contpte_try_unfold(struct mm_struct *mm, unsigned long addr,
145 * contpte_try_unfold(), so just check that the mm is user space.
147 if (!mm_is_user(mm))
151 contpte_convert(mm, addr, ptep, pte);
240 void contpte_set_ptes(struct mm_struct *mm, unsigned long addr,
256 if (!mm_is_user(mm))
257 return __set_ptes(mm, addr, ptep, pte, nr);
273 __set_ptes(mm, addr, ptep, pte, nr);
283 void contpte_clear_full_ptes(struct mm_struct *mm, unsigned long addr,
286 contpte_try_unfold_partial(mm, addr, ptep, nr);
287 __clear_full_ptes(mm, addr, ptep, nr, full);
291 pte_t contpte_get_and_clear_full_ptes(struct mm_struct *mm,
295 contpte_try_unfold_partial(mm, addr, ptep, nr);
296 return __get_and_clear_full_ptes(mm, addr, ptep, nr, full);
305 * flag for a _single_ pte. However, the core-mm code actually tracks
346 void contpte_wrprotect_ptes(struct mm_struct *mm, unsigned long addr,
359 contpte_try_unfold_partial(mm, addr, ptep, nr);
360 __wrprotect_ptes(mm, addr, ptep, nr);
373 * exactly what the core-mm asked for, it tracks access/dirty per