Lines Matching refs:encl_mm

741 	struct sgx_encl_mm *encl_mm = container_of(mn, struct sgx_encl_mm, mmu_notifier);  in sgx_mmu_notifier_release()  local
748 spin_lock(&encl_mm->encl->mm_lock); in sgx_mmu_notifier_release()
749 list_for_each_entry(tmp, &encl_mm->encl->mm_list, list) { in sgx_mmu_notifier_release()
750 if (tmp == encl_mm) { in sgx_mmu_notifier_release()
751 list_del_rcu(&encl_mm->list); in sgx_mmu_notifier_release()
755 spin_unlock(&encl_mm->encl->mm_lock); in sgx_mmu_notifier_release()
757 if (tmp == encl_mm) { in sgx_mmu_notifier_release()
758 synchronize_srcu(&encl_mm->encl->srcu); in sgx_mmu_notifier_release()
765 struct sgx_encl_mm *encl_mm = container_of(mn, struct sgx_encl_mm, mmu_notifier); in sgx_mmu_notifier_free() local
768 kref_put(&encl_mm->encl->refcount, sgx_encl_release); in sgx_mmu_notifier_free()
770 kfree(encl_mm); in sgx_mmu_notifier_free()
781 struct sgx_encl_mm *encl_mm = NULL; in sgx_encl_find_mm() local
789 encl_mm = tmp; in sgx_encl_find_mm()
796 return encl_mm; in sgx_encl_find_mm()
801 struct sgx_encl_mm *encl_mm; in sgx_encl_mm_add() local
819 encl_mm = kzalloc(sizeof(*encl_mm), GFP_KERNEL); in sgx_encl_mm_add()
820 if (!encl_mm) in sgx_encl_mm_add()
825 encl_mm->encl = encl; in sgx_encl_mm_add()
826 encl_mm->mm = mm; in sgx_encl_mm_add()
827 encl_mm->mmu_notifier.ops = &sgx_mmu_notifier_ops; in sgx_encl_mm_add()
829 ret = __mmu_notifier_register(&encl_mm->mmu_notifier, mm); in sgx_encl_mm_add()
831 kfree(encl_mm); in sgx_encl_mm_add()
836 list_add_rcu(&encl_mm->list, &encl->mm_list); in sgx_encl_mm_add()
891 struct sgx_encl_mm *encl_mm; in sgx_encl_cpumask() local
898 list_for_each_entry_rcu(encl_mm, &encl->mm_list, list) { in sgx_encl_cpumask()
899 if (!mmget_not_zero(encl_mm->mm)) in sgx_encl_cpumask()
902 cpumask_or(cpumask, cpumask, mm_cpumask(encl_mm->mm)); in sgx_encl_cpumask()
904 mmput_async(encl_mm->mm); in sgx_encl_cpumask()
966 struct sgx_encl_mm *encl_mm; in sgx_encl_get_mem_cgroup() local
983 list_for_each_entry_rcu(encl_mm, &encl->mm_list, list) { in sgx_encl_get_mem_cgroup()
984 if (!mmget_not_zero(encl_mm->mm)) in sgx_encl_get_mem_cgroup()
987 memcg = get_mem_cgroup_from_mm(encl_mm->mm); in sgx_encl_get_mem_cgroup()
989 mmput_async(encl_mm->mm); in sgx_encl_get_mem_cgroup()
1165 struct sgx_encl_mm *encl_mm; in sgx_zap_enclave_ptes() local
1177 list_for_each_entry_rcu(encl_mm, &encl->mm_list, list) { in sgx_zap_enclave_ptes()
1178 if (!mmget_not_zero(encl_mm->mm)) in sgx_zap_enclave_ptes()
1181 mmap_read_lock(encl_mm->mm); in sgx_zap_enclave_ptes()
1183 ret = sgx_encl_find(encl_mm->mm, addr, &vma); in sgx_zap_enclave_ptes()
1187 mmap_read_unlock(encl_mm->mm); in sgx_zap_enclave_ptes()
1189 mmput_async(encl_mm->mm); in sgx_zap_enclave_ptes()