Lines Matching refs:mm
31 static inline void load_mm_cr4_irqsoff(struct mm_struct *mm) in load_mm_cr4_irqsoff() argument
34 atomic_read(&mm->context.perf_rdpmc_allowed)) in load_mm_cr4_irqsoff()
40 static inline void load_mm_cr4_irqsoff(struct mm_struct *mm) {} in load_mm_cr4_irqsoff() argument
81 static inline void init_new_context_ldt(struct mm_struct *mm) in init_new_context_ldt() argument
83 mm->context.ldt = NULL; in init_new_context_ldt()
84 init_rwsem(&mm->context.ldt_usr_sem); in init_new_context_ldt()
86 int ldt_dup_context(struct mm_struct *oldmm, struct mm_struct *mm);
87 void destroy_context_ldt(struct mm_struct *mm);
88 void ldt_arch_exit_mmap(struct mm_struct *mm);
90 static inline void init_new_context_ldt(struct mm_struct *mm) { } in init_new_context_ldt() argument
92 struct mm_struct *mm) in ldt_dup_context() argument
96 static inline void destroy_context_ldt(struct mm_struct *mm) { } in destroy_context_ldt() argument
97 static inline void ldt_arch_exit_mmap(struct mm_struct *mm) { } in ldt_arch_exit_mmap() argument
100 static inline void load_mm_ldt(struct mm_struct *mm) in load_mm_ldt() argument
106 ldt = READ_ONCE(mm->context.ldt); in load_mm_ldt()
180 void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk);
187 struct mm_struct *mm) in init_new_context() argument
189 mutex_init(&mm->context.lock); in init_new_context()
191 mm->context.ctx_id = atomic64_inc_return(&last_mm_ctx_id); in init_new_context()
192 atomic64_set(&mm->context.tlb_gen, 0); in init_new_context()
197 mm->context.pkey_allocation_map = 0x1; in init_new_context()
199 mm->context.execute_only_pkey = -1; in init_new_context()
202 init_new_context_ldt(mm); in init_new_context()
205 static inline void destroy_context(struct mm_struct *mm) in destroy_context() argument
207 destroy_context_ldt(mm); in destroy_context()
224 #define deactivate_mm(tsk, mm) \ argument
229 #define deactivate_mm(tsk, mm) \ argument
237 struct mm_struct *mm) in arch_dup_pkeys() argument
244 mm->context.pkey_allocation_map = oldmm->context.pkey_allocation_map; in arch_dup_pkeys()
245 mm->context.execute_only_pkey = oldmm->context.execute_only_pkey; in arch_dup_pkeys()
249 static inline int arch_dup_mmap(struct mm_struct *oldmm, struct mm_struct *mm) in arch_dup_mmap() argument
251 arch_dup_pkeys(oldmm, mm); in arch_dup_mmap()
252 paravirt_arch_dup_mmap(oldmm, mm); in arch_dup_mmap()
253 return ldt_dup_context(oldmm, mm); in arch_dup_mmap()
256 static inline void arch_exit_mmap(struct mm_struct *mm) in arch_exit_mmap() argument
258 paravirt_arch_exit_mmap(mm); in arch_exit_mmap()
259 ldt_arch_exit_mmap(mm); in arch_exit_mmap()
263 static inline bool is_64bit_mm(struct mm_struct *mm) in is_64bit_mm() argument
266 !(mm->context.ia32_compat == TIF_IA32); in is_64bit_mm()
269 static inline bool is_64bit_mm(struct mm_struct *mm) in is_64bit_mm() argument
275 static inline void arch_bprm_mm_init(struct mm_struct *mm, in arch_bprm_mm_init() argument
278 mpx_mm_init(mm); in arch_bprm_mm_init()
281 static inline void arch_unmap(struct mm_struct *mm, unsigned long start, in arch_unmap() argument
302 mpx_notify_unmap(mm, start, end); in arch_unmap()
316 if (!current->mm) in vma_is_foreign()
323 if (current->mm != vma->vm_mm) in vma_is_foreign()
361 struct mm_struct *mm; member
377 static inline temp_mm_state_t use_temporary_mm(struct mm_struct *mm) in use_temporary_mm() argument
382 temp_state.mm = this_cpu_read(cpu_tlbstate.loaded_mm); in use_temporary_mm()
383 switch_mm_irqs_off(NULL, mm, current); in use_temporary_mm()
405 switch_mm_irqs_off(NULL, prev_state.mm, current); in unuse_temporary_mm()