Lines Matching refs:encl_mm

450 	struct sgx_encl_mm *encl_mm = container_of(mn, struct sgx_encl_mm, mmu_notifier);  in sgx_mmu_notifier_release()  local
457 spin_lock(&encl_mm->encl->mm_lock); in sgx_mmu_notifier_release()
458 list_for_each_entry(tmp, &encl_mm->encl->mm_list, list) { in sgx_mmu_notifier_release()
459 if (tmp == encl_mm) { in sgx_mmu_notifier_release()
460 list_del_rcu(&encl_mm->list); in sgx_mmu_notifier_release()
464 spin_unlock(&encl_mm->encl->mm_lock); in sgx_mmu_notifier_release()
466 if (tmp == encl_mm) { in sgx_mmu_notifier_release()
467 synchronize_srcu(&encl_mm->encl->srcu); in sgx_mmu_notifier_release()
474 struct sgx_encl_mm *encl_mm = container_of(mn, struct sgx_encl_mm, mmu_notifier); in sgx_mmu_notifier_free() local
477 kref_put(&encl_mm->encl->refcount, sgx_encl_release); in sgx_mmu_notifier_free()
479 kfree(encl_mm); in sgx_mmu_notifier_free()
490 struct sgx_encl_mm *encl_mm = NULL; in sgx_encl_find_mm() local
498 encl_mm = tmp; in sgx_encl_find_mm()
505 return encl_mm; in sgx_encl_find_mm()
510 struct sgx_encl_mm *encl_mm; in sgx_encl_mm_add() local
528 encl_mm = kzalloc(sizeof(*encl_mm), GFP_KERNEL); in sgx_encl_mm_add()
529 if (!encl_mm) in sgx_encl_mm_add()
534 encl_mm->encl = encl; in sgx_encl_mm_add()
535 encl_mm->mm = mm; in sgx_encl_mm_add()
536 encl_mm->mmu_notifier.ops = &sgx_mmu_notifier_ops; in sgx_encl_mm_add()
538 ret = __mmu_notifier_register(&encl_mm->mmu_notifier, mm); in sgx_encl_mm_add()
540 kfree(encl_mm); in sgx_encl_mm_add()
545 list_add_rcu(&encl_mm->list, &encl->mm_list); in sgx_encl_mm_add()