Lines Matching refs:encl_mm
776 struct sgx_encl_mm *encl_mm = container_of(mn, struct sgx_encl_mm, mmu_notifier); in sgx_mmu_notifier_release() local
784 spin_lock(&encl_mm->encl->mm_lock); in sgx_mmu_notifier_release()
785 list_for_each_entry(tmp, &encl_mm->encl->mm_list, list) { in sgx_mmu_notifier_release()
786 if (tmp == encl_mm) { in sgx_mmu_notifier_release()
787 list_del_rcu(&encl_mm->list); in sgx_mmu_notifier_release()
792 spin_unlock(&encl_mm->encl->mm_lock); in sgx_mmu_notifier_release()
795 synchronize_srcu(&encl_mm->encl->srcu); in sgx_mmu_notifier_release()
802 struct sgx_encl_mm *encl_mm = container_of(mn, struct sgx_encl_mm, mmu_notifier); in sgx_mmu_notifier_free() local
805 kref_put(&encl_mm->encl->refcount, sgx_encl_release); in sgx_mmu_notifier_free()
807 kfree(encl_mm); in sgx_mmu_notifier_free()
818 struct sgx_encl_mm *encl_mm = NULL; in sgx_encl_find_mm() local
826 encl_mm = tmp; in sgx_encl_find_mm()
833 return encl_mm; in sgx_encl_find_mm()
838 struct sgx_encl_mm *encl_mm; in sgx_encl_mm_add() local
856 encl_mm = kzalloc(sizeof(*encl_mm), GFP_KERNEL); in sgx_encl_mm_add()
857 if (!encl_mm) in sgx_encl_mm_add()
862 encl_mm->encl = encl; in sgx_encl_mm_add()
863 encl_mm->mm = mm; in sgx_encl_mm_add()
864 encl_mm->mmu_notifier.ops = &sgx_mmu_notifier_ops; in sgx_encl_mm_add()
866 ret = __mmu_notifier_register(&encl_mm->mmu_notifier, mm); in sgx_encl_mm_add()
868 kfree(encl_mm); in sgx_encl_mm_add()
873 list_add_rcu(&encl_mm->list, &encl->mm_list); in sgx_encl_mm_add()
928 struct sgx_encl_mm *encl_mm; in sgx_encl_cpumask() local
935 list_for_each_entry_rcu(encl_mm, &encl->mm_list, list) { in sgx_encl_cpumask()
936 if (!mmget_not_zero(encl_mm->mm)) in sgx_encl_cpumask()
939 cpumask_or(cpumask, cpumask, mm_cpumask(encl_mm->mm)); in sgx_encl_cpumask()
941 mmput_async(encl_mm->mm); in sgx_encl_cpumask()
1003 struct sgx_encl_mm *encl_mm; in sgx_encl_get_mem_cgroup() local
1020 list_for_each_entry_rcu(encl_mm, &encl->mm_list, list) { in sgx_encl_get_mem_cgroup()
1021 if (!mmget_not_zero(encl_mm->mm)) in sgx_encl_get_mem_cgroup()
1024 memcg = get_mem_cgroup_from_mm(encl_mm->mm); in sgx_encl_get_mem_cgroup()
1026 mmput_async(encl_mm->mm); in sgx_encl_get_mem_cgroup()
1202 struct sgx_encl_mm *encl_mm; in sgx_zap_enclave_ptes() local
1214 list_for_each_entry_rcu(encl_mm, &encl->mm_list, list) { in sgx_zap_enclave_ptes()
1215 if (!mmget_not_zero(encl_mm->mm)) in sgx_zap_enclave_ptes()
1218 mmap_read_lock(encl_mm->mm); in sgx_zap_enclave_ptes()
1220 ret = sgx_encl_find(encl_mm->mm, addr, &vma); in sgx_zap_enclave_ptes()
1224 mmap_read_unlock(encl_mm->mm); in sgx_zap_enclave_ptes()
1226 mmput_async(encl_mm->mm); in sgx_zap_enclave_ptes()