void TEEC_ReleaseSharedMemory(TEEC_SharedMemory *shared_memory) { struct tee_shm *shm; if (!shared_memory || shared_memory->registered) return; pr_debug("%s (vaddr = %p)\n", __func__, shared_memory->buffer); shm = (struct tee_shm *)(long)shared_memory->d.fd; tee_shm_free_io(shm); shared_memory->buffer = NULL; shared_memory->d.fd = 0; }
static void _tee_shm_dma_buf_release(struct dma_buf *dmabuf) { struct tee_shm *shm = dmabuf->priv; struct tee_context *ctx; struct tee *tee; tee = shm->ctx->tee; INMSG(); ctx = shm->ctx; dev_dbg(_DEV(ctx->tee), "%s: shm=%p, paddr=%p,s=%d/%d app=\"%s\" pid=%d\n", __func__, shm, (void *)shm->paddr, (int)shm->size_req, (int)shm->size_alloc, current->comm, current->pid); tee_shm_free_io(shm); OUTMSG(0); }