Lines Matching refs:encl
18 #include "encl.h"
112 struct sgx_encl *encl = page->encl;
117 idx = srcu_read_lock(&encl->srcu);
119 list_for_each_entry_rcu(encl_mm, &encl->mm_list, list) {
133 srcu_read_unlock(&encl->srcu, idx);
145 struct sgx_encl *encl = page->encl;
148 sgx_zap_enclave_ptes(encl, addr);
150 mutex_lock(&encl->lock);
156 mutex_unlock(&encl->lock);
201 struct sgx_encl *encl = encl_page->encl;
209 va_page = list_first_entry(&encl->va_pages, struct sgx_va_page,
214 list_move_tail(&va_page->list, &encl->va_pages);
218 ret = __etrack(sgx_get_epc_virt_addr(encl->secs.epc_page));
233 on_each_cpu_mask(sgx_encl_cpumask(encl),
254 struct sgx_encl *encl = encl_page->encl;
258 mutex_lock(&encl->lock);
262 encl->secs_child_cnt--;
265 if (!encl->secs_child_cnt && test_bit(SGX_ENCL_INITIALIZED, &encl->flags)) {
266 ret = sgx_encl_alloc_backing(encl, PFN_DOWN(encl->size),
271 sgx_encl_ewb(encl->secs.epc_page, &secs_backing);
273 sgx_encl_free_epc_page(encl->secs.epc_page);
274 encl->secs.epc_page = NULL;
280 mutex_unlock(&encl->lock);
317 if (kref_get_unless_zero(&encl_page->encl->refcount) != 0)
334 page_index = PFN_DOWN(encl_page->desc - encl_page->encl->base);
336 mutex_lock(&encl_page->encl->lock);
337 ret = sgx_encl_alloc_backing(encl_page->encl, page_index, &backing[i]);
339 mutex_unlock(&encl_page->encl->lock);
344 mutex_unlock(&encl_page->encl->lock);
352 kref_put(&encl_page->encl->refcount, sgx_encl_release);
371 kref_put(&encl_page->encl->refcount, sgx_encl_release);